From: Rob Herring <robh@kernel.org>
To: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Guo Ren <guoren@linux.alibaba.com>, Bin Meng <bmeng.cn@gmail.com>,
Xiang W <wxjstz@126.com>, Samuel Holland <samuel@sholland.org>,
Atish Patra <atish.patra@wdc.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Anup Patel <anup.patel@wdc.com>,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-riscv@lists.infradead.org, opensbi@lists.infradead.org
Subject: Re: [PATCH 1/1] dt-bindings: T-HEAD CLINT
Date: Fri, 22 Oct 2021 16:22:17 -0500 [thread overview]
Message-ID: <YXMriYWcOcgJSpKj@robh.at.kernel.org> (raw)
In-Reply-To: <20211020093603.28653-1-heinrich.schuchardt@canonical.com>
On Wed, Oct 20, 2021 at 11:36:03AM +0200, Heinrich Schuchardt wrote:
> The CLINT in the T-HEAD 9xx CPUs is similar to the SiFive CLINT but does
> not support 64bit mmio access to the MTIMER device.
>
> OpenSBI currently uses a property 'clint,has-no-64bit-mmio' to indicate the
> restriction and the "sifive,cling0" compatible string. An OpenSBI
> patch suggested to use "reg-io-width = <4>;" as the reg-io-width property
> is generally used in the devicetree schema for such a condition.
>
> As the design is not SiFive based it is preferable to apply a compatible
> string identifying T-HEAD instead.
>
> Add a new yaml file describing the T-HEAD CLINT.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> ---
> @Palmer, @Anup
> I copied you as maintainers from sifive,clint.yaml. Please, indicate if
> this should be changed.
>
> For the prior discussion see:
> https://lore.kernel.org/all/20211015100941.17621-1-heinrich.schuchardt@canonical.com/
> https://lore.kernel.org/all/20211015120735.27972-1-heinrich.schuchardt@canonical.com/
>
> A release candidate of the ACLINT specification is available at
> https://github.com/riscv/riscv-aclint/releases
> ---
> .../bindings/timer/thead,clint.yaml | 62 +++++++++++++++++++
> 1 file changed, 62 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/timer/thead,clint.yaml
>
> diff --git a/Documentation/devicetree/bindings/timer/thead,clint.yaml b/Documentation/devicetree/bindings/timer/thead,clint.yaml
> new file mode 100644
> index 000000000000..02463fb2043a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/thead,clint.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/thead,clint.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SiFive Core Local Interruptor
> +
> +maintainers:
> + - Palmer Dabbelt <palmer@dabbelt.com>
> + - Anup Patel <anup.patel@wdc.com>
> +
> +description:
> + T-HEAD (and other RISC-V) SOCs include an implementation of the T-HEAD
> + Core Local Interruptor (CLINT) for M-mode timer and M-mode inter-processor
> + interrupts. It directly connects to the timer and inter-processor interrupt
> + lines of various HARTs (or CPUs) so RISC-V per-HART (or per-CPU) local
> + interrupt controller is the parent interrupt controller for CLINT device.
> + The clock frequency of the CLINT is specified via "timebase-frequency" DT
> + property of "/cpus" DT node. The "timebase-frequency" DT property is
> + described in Documentation/devicetree/bindings/riscv/cpus.yaml
> +
> +properties:
> + compatible:
> + items:
> + - const:
> + - allwinner,sun20i-d1-clint
> + - const:
> + - thead,clint0
> +
> + description:
> + Should be "<vendor>,<chip>-clint" and "thead,clint<version>" for
> + the T-HEAD derived CLINTs.
> + Supported compatible strings are -
> + "allwinner,sun20i-d1-clint" for the CLINT in the Allwinner D1 SoC
> + and "thead,clint0" for the T-HEAD IP block with no chip
> + integration tweaks.
T-HEAD uses the same versioning as SiFive? If you use version numbers in
compatible strings, the numbering needs to be documented and correlate
back to the h/w design. See [1]. IP release numbers for FPGA IP for
example. What it should not be is the binding author making up 0, 1, 2,
etc. versions.
Rob
[1] Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: opensbi@lists.infradead.org
Subject: [PATCH 1/1] dt-bindings: T-HEAD CLINT
Date: Fri, 22 Oct 2021 16:22:17 -0500 [thread overview]
Message-ID: <YXMriYWcOcgJSpKj@robh.at.kernel.org> (raw)
In-Reply-To: <20211020093603.28653-1-heinrich.schuchardt@canonical.com>
On Wed, Oct 20, 2021 at 11:36:03AM +0200, Heinrich Schuchardt wrote:
> The CLINT in the T-HEAD 9xx CPUs is similar to the SiFive CLINT but does
> not support 64bit mmio access to the MTIMER device.
>
> OpenSBI currently uses a property 'clint,has-no-64bit-mmio' to indicate the
> restriction and the "sifive,cling0" compatible string. An OpenSBI
> patch suggested to use "reg-io-width = <4>;" as the reg-io-width property
> is generally used in the devicetree schema for such a condition.
>
> As the design is not SiFive based it is preferable to apply a compatible
> string identifying T-HEAD instead.
>
> Add a new yaml file describing the T-HEAD CLINT.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> ---
> @Palmer, @Anup
> I copied you as maintainers from sifive,clint.yaml. Please, indicate if
> this should be changed.
>
> For the prior discussion see:
> https://lore.kernel.org/all/20211015100941.17621-1-heinrich.schuchardt at canonical.com/
> https://lore.kernel.org/all/20211015120735.27972-1-heinrich.schuchardt at canonical.com/
>
> A release candidate of the ACLINT specification is available at
> https://github.com/riscv/riscv-aclint/releases
> ---
> .../bindings/timer/thead,clint.yaml | 62 +++++++++++++++++++
> 1 file changed, 62 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/timer/thead,clint.yaml
>
> diff --git a/Documentation/devicetree/bindings/timer/thead,clint.yaml b/Documentation/devicetree/bindings/timer/thead,clint.yaml
> new file mode 100644
> index 000000000000..02463fb2043a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/thead,clint.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/thead,clint.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SiFive Core Local Interruptor
> +
> +maintainers:
> + - Palmer Dabbelt <palmer@dabbelt.com>
> + - Anup Patel <anup.patel@wdc.com>
> +
> +description:
> + T-HEAD (and other RISC-V) SOCs include an implementation of the T-HEAD
> + Core Local Interruptor (CLINT) for M-mode timer and M-mode inter-processor
> + interrupts. It directly connects to the timer and inter-processor interrupt
> + lines of various HARTs (or CPUs) so RISC-V per-HART (or per-CPU) local
> + interrupt controller is the parent interrupt controller for CLINT device.
> + The clock frequency of the CLINT is specified via "timebase-frequency" DT
> + property of "/cpus" DT node. The "timebase-frequency" DT property is
> + described in Documentation/devicetree/bindings/riscv/cpus.yaml
> +
> +properties:
> + compatible:
> + items:
> + - const:
> + - allwinner,sun20i-d1-clint
> + - const:
> + - thead,clint0
> +
> + description:
> + Should be "<vendor>,<chip>-clint" and "thead,clint<version>" for
> + the T-HEAD derived CLINTs.
> + Supported compatible strings are -
> + "allwinner,sun20i-d1-clint" for the CLINT in the Allwinner D1 SoC
> + and "thead,clint0" for the T-HEAD IP block with no chip
> + integration tweaks.
T-HEAD uses the same versioning as SiFive? If you use version numbers in
compatible strings, the numbering needs to be documented and correlate
back to the h/w design. See [1]. IP release numbers for FPGA IP for
example. What it should not be is the binding author making up 0, 1, 2,
etc. versions.
Rob
[1] Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Guo Ren <guoren@linux.alibaba.com>, Bin Meng <bmeng.cn@gmail.com>,
Xiang W <wxjstz@126.com>, Samuel Holland <samuel@sholland.org>,
Atish Patra <atish.patra@wdc.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Anup Patel <anup.patel@wdc.com>,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-riscv@lists.infradead.org, opensbi@lists.infradead.org
Subject: Re: [PATCH 1/1] dt-bindings: T-HEAD CLINT
Date: Fri, 22 Oct 2021 16:22:17 -0500 [thread overview]
Message-ID: <YXMriYWcOcgJSpKj@robh.at.kernel.org> (raw)
In-Reply-To: <20211020093603.28653-1-heinrich.schuchardt@canonical.com>
On Wed, Oct 20, 2021 at 11:36:03AM +0200, Heinrich Schuchardt wrote:
> The CLINT in the T-HEAD 9xx CPUs is similar to the SiFive CLINT but does
> not support 64bit mmio access to the MTIMER device.
>
> OpenSBI currently uses a property 'clint,has-no-64bit-mmio' to indicate the
> restriction and the "sifive,cling0" compatible string. An OpenSBI
> patch suggested to use "reg-io-width = <4>;" as the reg-io-width property
> is generally used in the devicetree schema for such a condition.
>
> As the design is not SiFive based it is preferable to apply a compatible
> string identifying T-HEAD instead.
>
> Add a new yaml file describing the T-HEAD CLINT.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> ---
> @Palmer, @Anup
> I copied you as maintainers from sifive,clint.yaml. Please, indicate if
> this should be changed.
>
> For the prior discussion see:
> https://lore.kernel.org/all/20211015100941.17621-1-heinrich.schuchardt@canonical.com/
> https://lore.kernel.org/all/20211015120735.27972-1-heinrich.schuchardt@canonical.com/
>
> A release candidate of the ACLINT specification is available at
> https://github.com/riscv/riscv-aclint/releases
> ---
> .../bindings/timer/thead,clint.yaml | 62 +++++++++++++++++++
> 1 file changed, 62 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/timer/thead,clint.yaml
>
> diff --git a/Documentation/devicetree/bindings/timer/thead,clint.yaml b/Documentation/devicetree/bindings/timer/thead,clint.yaml
> new file mode 100644
> index 000000000000..02463fb2043a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/thead,clint.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/thead,clint.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SiFive Core Local Interruptor
> +
> +maintainers:
> + - Palmer Dabbelt <palmer@dabbelt.com>
> + - Anup Patel <anup.patel@wdc.com>
> +
> +description:
> + T-HEAD (and other RISC-V) SOCs include an implementation of the T-HEAD
> + Core Local Interruptor (CLINT) for M-mode timer and M-mode inter-processor
> + interrupts. It directly connects to the timer and inter-processor interrupt
> + lines of various HARTs (or CPUs) so RISC-V per-HART (or per-CPU) local
> + interrupt controller is the parent interrupt controller for CLINT device.
> + The clock frequency of the CLINT is specified via "timebase-frequency" DT
> + property of "/cpus" DT node. The "timebase-frequency" DT property is
> + described in Documentation/devicetree/bindings/riscv/cpus.yaml
> +
> +properties:
> + compatible:
> + items:
> + - const:
> + - allwinner,sun20i-d1-clint
> + - const:
> + - thead,clint0
> +
> + description:
> + Should be "<vendor>,<chip>-clint" and "thead,clint<version>" for
> + the T-HEAD derived CLINTs.
> + Supported compatible strings are -
> + "allwinner,sun20i-d1-clint" for the CLINT in the Allwinner D1 SoC
> + and "thead,clint0" for the T-HEAD IP block with no chip
> + integration tweaks.
T-HEAD uses the same versioning as SiFive? If you use version numbers in
compatible strings, the numbering needs to be documented and correlate
back to the h/w design. See [1]. IP release numbers for FPGA IP for
example. What it should not be is the binding author making up 0, 1, 2,
etc. versions.
Rob
[1] Documentation/devicetree/bindings/sifive/sifive-blocks-ip-versioning.txt
next prev parent reply other threads:[~2021-10-22 21:22 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-20 9:36 [PATCH 1/1] dt-bindings: T-HEAD CLINT Heinrich Schuchardt
2021-10-20 9:36 ` Heinrich Schuchardt
2021-10-20 9:36 ` Heinrich Schuchardt
2021-10-20 11:27 ` Anup Patel
2021-10-20 11:27 ` Anup Patel
2021-10-20 11:27 ` Anup Patel
2021-10-20 11:32 ` Jessica Clarke
2021-10-20 11:32 ` Jessica Clarke
2021-10-20 11:32 ` Jessica Clarke
2021-10-20 11:42 ` Heinrich Schuchardt
2021-10-20 11:42 ` Heinrich Schuchardt
2021-10-20 11:42 ` Heinrich Schuchardt
2021-10-20 14:07 ` Anup Patel
2021-10-20 14:07 ` Anup Patel
2021-10-20 14:07 ` Anup Patel
2021-10-20 13:50 ` Rob Herring
2021-10-20 13:50 ` Rob Herring
2021-10-20 13:50 ` Rob Herring
2021-10-22 21:22 ` Rob Herring [this message]
2021-10-22 21:22 ` Rob Herring
2021-10-22 21:22 ` Rob Herring
2021-10-23 0:03 ` Heinrich Schuchardt
2021-10-23 0:03 ` Heinrich Schuchardt
2021-10-23 0:03 ` Heinrich Schuchardt
2021-10-24 5:04 ` Guo Ren
2021-10-24 5:04 ` Guo Ren
2021-10-24 5:04 ` Guo Ren
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=YXMriYWcOcgJSpKj@robh.at.kernel.org \
--to=robh@kernel.org \
--cc=anup.patel@wdc.com \
--cc=atish.patra@wdc.com \
--cc=bmeng.cn@gmail.com \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=guoren@linux.alibaba.com \
--cc=heinrich.schuchardt@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=opensbi@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=samuel@sholland.org \
--cc=tglx@linutronix.de \
--cc=wxjstz@126.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.