All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: ysionneau@kalrayinc.com
Cc: linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Jonathan Borne <jborne@kalrayinc.com>,
	Julian Vetter <jvetter@kalrayinc.com>,
	Jules Maselbas <jmaselbas@zdiv.net>,
	devicetree@vger.kernel.org
Subject: Re: [RFC PATCH v3 05/37] dt-bindings: Add binding for kalray,coolidge-apic-mailbox
Date: Mon, 22 Jul 2024 14:47:23 -0600	[thread overview]
Message-ID: <20240722204723.GA61731-robh@kernel.org> (raw)
In-Reply-To: <20240722094226.21602-6-ysionneau@kalrayinc.com>

On Mon, Jul 22, 2024 at 11:41:16AM +0200, ysionneau@kalrayinc.com wrote:
> From: Yann Sionneau <ysionneau@kalrayinc.com>
> 
> Add binding for Kalray Coolidge APIC Mailbox interrupt-controller.
> 
> Co-developed-by: Jules Maselbas <jmaselbas@zdiv.net>
> Signed-off-by: Jules Maselbas <jmaselbas@zdiv.net>
> Signed-off-by: Yann Sionneau <ysionneau@kalrayinc.com>
> ---
> 
> Notes:
> 
> V2 -> V3: Fixed bindings to adhere to dt-schema
> ---
>  .../kalray,coolidge-apic-mailbox.yaml         | 90 +++++++++++++++++++
>  1 file changed, 90 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/kalray,coolidge-apic-mailbox.yaml
> 
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/kalray,coolidge-apic-mailbox.yaml b/Documentation/devicetree/bindings/interrupt-controller/kalray,coolidge-apic-mailbox.yaml
> new file mode 100644
> index 0000000000000..334b816b80583
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interrupt-controller/kalray,coolidge-apic-mailbox.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/interrupt-controller/kalray,coolidge-apic-mailbox.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Kalray Coolidge APIC-Mailbox
> +
> +maintainers:
> +  - Jonathan Borne <jborne@kalrayinc.com>
> +  - Julian Vetter <jvetter@kalrayinc.com>
> +  - Yann Sionneau <ysionneau@kalrayinc.com>
> +
> +description: |
> +  Each cluster in the Coolidge SoC includes an Advanced Programmable Interrupt
> +  Controller (APIC) which is split in two part:
> +    - a Generic Interrupt Controller (referred as APIC-GIC)
> +    - a Mailbox Controller           (referred as APIC-Mailbox)
> +  The APIC-Mailbox contains 128 mailboxes of 8 bytes (size of a word),
> +  this hardware block is basically a 1 KB of smart memory space.
> +  Each mailbox can be independently configured with a trigger condition
> +  and an input mode function.
> +
> +  Input mode are:
> +   - write
> +   - bitwise OR
> +   - add
> +
> +  Interrupts are generated on a write when the mailbox content value
> +  match the configured trigger condition.
> +  Available conditions are:
> +   - doorbell: always raise interruption on write
> +   - match: when the mailbox's value equal the configured trigger value
> +   - barrier: same as match but the mailbox's value is cleared on trigger
> +   - threshold: when the mailbox's value is greater than, or equal to, the
> +     configured trigger value
> +
> +  Since this hardware block generates IRQs based on writes to some memory
> +  locations, it is both an interrupt controller and an MSI controller.
> +
> +properties:
> +  compatible:
> +    const: kalray,coolidge-apic-mailbox
> +
> +  reg:
> +    maxItems: 1
> +
> +  "#interrupt-cells":
> +    const: 0
> +    description:
> +      The IRQ number.
> +
> +  "#address-cells":
> +    const: 0
> +
> +  interrupt-controller: true
> +
> +  interrupts:
> +    maxItems: 128
> +    minItems: 1
> +    description: |
> +     Specifies the interrupt line(s) in the interrupt-parent controller node;
> +     valid values depend on the type of parent interrupt controller

Your description applies to all 'interrupts' properties and is therefore 
redundant. What you should explain is what are the 1-128 possible 
interrupts. Normally, you have to list each one out unless they are all 
instances of the same type of interrupt.

> +
> +  msi-controller: true

"#msi-cells" should be specified too.

> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - "#interrupt-cells"
> +  - "#address-cells"
> +  - interrupt-controller
> +  - interrupts
> +  - msi-controller
> +
> +examples:
> +  - |
> +    apic_mailbox: interrupt-controller@a00000 {
> +        compatible = "kalray,coolidge-apic-mailbox";
> +        reg = <0 0xa00000 0 0x0f200>;
> +        #interrupt-cells = <0>;
> +        interrupt-controller;
> +        interrupt-parent = <&apic_gic>;
> +        interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>;
> +        msi-controller;
> +    };
> +
> +...
> -- 
> 2.45.2
> 
> 
> 
> 
> 

  parent reply	other threads:[~2024-07-22 20:47 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-22  9:41 [RFC PATCH v3 00/37] Upstream kvx Linux port ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 01/37] Documentation: kvx: Add basic documentation ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 02/37] dt-bindings: soc: kvx: Add binding for kalray,coolidge-pwr-ctrl ysionneau
2024-07-22  9:47   ` Krzysztof Kozlowski
2024-07-31 14:31     ` Yann Sionneau
2024-07-22 18:41   ` Rob Herring (Arm)
2024-07-22  9:41 ` [RFC PATCH v3 03/37] dt-bindings: Add binding for kalray,kv3-1-intc ysionneau
2024-07-22  9:51   ` Krzysztof Kozlowski
2024-07-31 14:47     ` Yann Sionneau
2024-08-07  7:55       ` Krzysztof Kozlowski
2024-07-23 20:49   ` Rob Herring
2024-07-22  9:41 ` [RFC PATCH v3 04/37] dt-bindings: Add binding for kalray,coolidge-apic-gic ysionneau
2024-07-22 18:41   ` Rob Herring (Arm)
2024-07-22  9:41 ` [RFC PATCH v3 05/37] dt-bindings: Add binding for kalray,coolidge-apic-mailbox ysionneau
2024-07-22 18:41   ` Rob Herring (Arm)
2024-07-22 20:47   ` Rob Herring [this message]
2024-09-04 15:07     ` Yann Sionneau
2024-07-22  9:41 ` [RFC PATCH v3 06/37] dt-bindings: Add binding for kalray,coolidge-itgen ysionneau
2024-07-22 18:41   ` Rob Herring (Arm)
2024-07-22  9:41 ` [RFC PATCH v3 07/37] dt-bindings: Add binding for kalray,coolidge-ipi-ctrl ysionneau
2024-07-22 18:41   ` Rob Herring (Arm)
2024-07-22 20:50   ` Rob Herring
2024-09-04 15:37     ` Yann Sionneau
2024-07-22  9:41 ` [RFC PATCH v3 08/37] dt-bindings: Add binding for kalray,coolidge-dsu-clock ysionneau
2024-07-22 18:41   ` Rob Herring (Arm)
2024-07-22 21:45   ` Stephen Boyd
2024-07-22  9:41 ` [RFC PATCH v3 09/37] dt-bindings: Add binding for kalray,kv3-1-timer ysionneau
2024-07-23 20:52   ` Rob Herring
2024-07-22  9:41 ` [RFC PATCH v3 10/37] dt-bindings: kalray: Add CPU bindings for Kalray kvx ysionneau
2024-07-22 18:41   ` Rob Herring (Arm)
2024-07-22 20:58   ` Rob Herring
2024-07-22  9:41 ` [RFC PATCH v3 11/37] dt-bindings: kalray: Add Kalray SoC board compatibles ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 12/37] kvx: Add ELF-related definitions ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 13/37] kvx: Add build infrastructure ysionneau
2024-07-23  9:46   ` Arnd Bergmann
2024-07-22  9:41 ` [RFC PATCH v3 14/37] kvx: Add CPU definition headers ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 15/37] kvx: Add atomic/locking headers ysionneau
2024-07-23  8:26   ` Arnd Bergmann
2024-07-22  9:41 ` [RFC PATCH v3 16/37] kvx: Add other common headers ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 17/37] kvx: Add boot and setup routines ysionneau
2024-07-23  8:44   ` Arnd Bergmann
2024-07-27 14:31   ` Thomas Gleixner
2024-07-22  9:41 ` [RFC PATCH v3 18/37] kvx: Add exception/interrupt handling ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 19/37] irqchip: Add irq-kvx-apic-gic driver ysionneau
2024-07-22 12:28   ` Krzysztof Kozlowski
2024-08-23 12:37     ` Yann Sionneau
2024-07-27 13:10   ` Thomas Gleixner
2024-07-22  9:41 ` [RFC PATCH v3 20/37] irqchip: Add irq-kvx-itgen driver ysionneau
2024-07-22 12:30   ` Krzysztof Kozlowski
2024-08-23 12:42     ` Yann Sionneau
2024-07-27 13:18   ` Thomas Gleixner
2024-07-22  9:41 ` [RFC PATCH v3 21/37] irqchip: Add irq-kvx-apic-mailbox driver ysionneau
2024-07-27 13:35   ` Thomas Gleixner
2024-07-22  9:41 ` [RFC PATCH v3 22/37] irqchip: Add kvx-core-intc core interrupt controller driver ysionneau
2024-07-22 12:32   ` Krzysztof Kozlowski
2024-08-23 12:54     ` Yann Sionneau
2024-07-27 13:37   ` Thomas Gleixner
2024-07-22  9:41 ` [RFC PATCH v3 23/37] kvx: Add process management ysionneau
2024-07-22  9:41   ` ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 24/37] kvx: Add memory management ysionneau
2024-07-22  9:41   ` ysionneau
2024-07-22 14:58   ` Christoph Hellwig
2024-07-22 14:58     ` Christoph Hellwig
2024-07-30 13:48     ` Robin Murphy
2024-07-30 13:48       ` Robin Murphy
2024-08-23 16:02     ` Yann Sionneau
2024-08-23 16:02       ` Yann Sionneau
2024-07-22  9:41 ` [RFC PATCH v3 25/37] kvx: Add system call support ysionneau
2024-07-22  9:41   ` ysionneau
2024-07-23  9:20   ` Arnd Bergmann
2024-07-23  9:20     ` Arnd Bergmann
2024-07-22  9:41 ` [RFC PATCH v3 26/37] kvx: Add signal handling support ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 27/37] kvx: Add ELF relocations and module support ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 28/37] kvx: Add misc common routines ysionneau
2024-07-23  8:50   ` Arnd Bergmann
2024-07-23  9:58   ` Arnd Bergmann
2024-07-22  9:41 ` [RFC PATCH v3 29/37] kvx: Add some library functions ysionneau
2024-07-23  9:26   ` Arnd Bergmann
2024-07-22  9:41 ` [RFC PATCH v3 30/37] kvx: Add multi-processor (SMP) support ysionneau
2024-07-27 14:22   ` Thomas Gleixner
2024-07-22  9:41 ` [RFC PATCH v3 31/37] kvx: Add kvx default config file ysionneau
2024-07-23  8:55   ` Arnd Bergmann
2024-07-22  9:41 ` [RFC PATCH v3 32/37] kvx: Add debugging related support ysionneau
2024-07-22  9:41 ` [RFC PATCH v3 33/37] kvx: Add support for cpuinfo ysionneau
2024-07-22 12:35   ` Krzysztof Kozlowski
2024-08-23 13:00     ` Yann Sionneau
2024-07-22  9:41 ` [RFC PATCH v3 34/37] kvx: Add power controller driver ysionneau
2024-07-22 12:37   ` Krzysztof Kozlowski
2024-08-23 13:07     ` Yann Sionneau
2024-07-22  9:41 ` [RFC PATCH v3 35/37] kvx: Add IPI driver ysionneau
2024-07-22 12:39   ` Krzysztof Kozlowski
2024-08-23 14:46     ` Yann Sionneau
2024-09-07 13:20       ` Krzysztof Kozlowski
2024-07-27 14:08   ` Thomas Gleixner
2024-07-22  9:41 ` [RFC PATCH v3 36/37] kvx: dts: DeviceTree for qemu emulated Coolidge SoC ysionneau
2024-07-22  9:55   ` Krzysztof Kozlowski
2024-07-22 11:12     ` Conor Dooley
2024-07-31 15:38     ` Yann Sionneau
2024-07-31 16:57       ` Krzysztof Kozlowski
2024-07-22  9:41 ` [RFC PATCH v3 37/37] Add Kalray Inc. to the list of vendor-prefixes.yaml ysionneau
2024-07-22  9:56   ` Krzysztof Kozlowski
2024-08-01  7:35     ` Yann Sionneau
2024-07-24  7:59 ` [RFC PATCH v3 00/37] Upstream kvx Linux port Arnd Bergmann
2024-07-25 10:07   ` Yann Sionneau

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=20240722204723.GA61731-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jborne@kalrayinc.com \
    --cc=jmaselbas@zdiv.net \
    --cc=jvetter@kalrayinc.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=ysionneau@kalrayinc.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 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.