* [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc
@ 2024-06-15 2:15 Kanak Shilledar
2024-06-15 2:15 ` [RESEND v4 1/2] dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema Kanak Shilledar
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Kanak Shilledar @ 2024-06-15 2:15 UTC (permalink / raw)
Cc: kanakshilledar111, Kanak Shilledar, Thomas Gleixner, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt,
Albert Ou, Samuel Holland, linux-kernel, devicetree, linux-riscv,
Conor Dooley
This series of patches converts the RISC-V CPU interrupt controller to
the newer dt-schema binding.
Patch 1:
This patch is currently at v4 as it has been previously rolled out.
Contains the bindings for the interrupt controller.
Patch 2:
This patch is currently at v4.
Contains the reference to the above interrupt controller. Thus, making
all the RISC-V interrupt controller bindings in a centralized place.
These patches are interdependent.
Fixed the patch address mismatch error by changing DCO to @gmail.com
Kanak Shilledar (3):
dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema
dt-bindings: riscv: cpus: add ref to interrupt-controller
dt-bindings: serial: vt8500-uart: convert to json-schema
.../interrupt-controller/riscv,cpu-intc.txt | 52 -------------
.../interrupt-controller/riscv,cpu-intc.yaml | 73 +++++++++++++++++++
.../devicetree/bindings/riscv/cpus.yaml | 21 +-----
.../bindings/serial/via,vt8500-uart.yaml | 46 ++++++++++++
.../bindings/serial/vt8500-uart.txt | 27 -------
5 files changed, 120 insertions(+), 99 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.yaml
create mode 100644 Documentation/devicetree/bindings/serial/via,vt8500-uart.yaml
delete mode 100644 Documentation/devicetree/bindings/serial/vt8500-uart.txt
base-commit: 83a7eefedc9b56fe7bfeff13b6c7356688ffa670
--
2.45.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* [RESEND v4 1/2] dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema
2024-06-15 2:15 [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc Kanak Shilledar
@ 2024-06-15 2:15 ` Kanak Shilledar
2024-06-24 20:22 ` Rob Herring (Arm)
2024-06-15 2:15 ` [RESEND v4 2/2] dt-bindings: riscv: cpus: add ref to interrupt-controller Kanak Shilledar
2024-06-27 17:50 ` [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc patchwork-bot+linux-riscv
2 siblings, 1 reply; 6+ messages in thread
From: Kanak Shilledar @ 2024-06-15 2:15 UTC (permalink / raw)
Cc: kanakshilledar111, Kanak Shilledar, Thomas Gleixner, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt,
Albert Ou, Samuel Holland, linux-kernel, devicetree, linux-riscv,
Conor Dooley
Convert the RISC-V Hart-Level Interrupt Controller (HLIC) to newer
DT schema, Created DT schema based on the .txt file which had
`compatible`, `#interrupt-cells` and `interrupt-controller` as
required properties.
Changes made with respect to original file:
- Changed the example to just use interrupt-controller instead of
using the whole cpu block
- Changed the example compatible string.
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Kanak Shilledar <kanakshilledar@gmail.com>
---
Changes in v4:
- Change DCO email to @gmail.com
Changes in v3:
- Remove reference to `interrupt-controller` in `riscv/cpus.yaml`.
Changes in v2:
- Update the maintainers list.
- Add reference to `interrupt-controller` in `riscv/cpus.yaml`.
- Update compatible property with the reference in `cpus.yaml`.
- Include description for '#interrupt-cells' property.
- Change '#interrupt-cells' property to have `const: 1` as per the
text binding.
- Fixed the warning thrown by `/renesas/r9a07g043f01-smarc.dtb`.
---
.../interrupt-controller/riscv,cpu-intc.txt | 52 -------------
.../interrupt-controller/riscv,cpu-intc.yaml | 73 +++++++++++++++++++
2 files changed, 73 insertions(+), 52 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.yaml
diff --git a/Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt
deleted file mode 100644
index 265b223cd978..000000000000
--- a/Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-RISC-V Hart-Level Interrupt Controller (HLIC)
----------------------------------------------
-
-RISC-V cores include Control Status Registers (CSRs) which are local to each
-CPU core (HART in RISC-V terminology) and can be read or written by software.
-Some of these CSRs are used to control local interrupts connected to the core.
-Every interrupt is ultimately routed through a hart's HLIC before it
-interrupts that hart.
-
-The RISC-V supervisor ISA manual specifies three interrupt sources that are
-attached to every HLIC: software interrupts, the timer interrupt, and external
-interrupts. Software interrupts are used to send IPIs between cores. The
-timer interrupt comes from an architecturally mandated real-time timer that is
-controlled via Supervisor Binary Interface (SBI) calls and CSR reads. External
-interrupts connect all other device interrupts to the HLIC, which are routed
-via the platform-level interrupt controller (PLIC).
-
-All RISC-V systems that conform to the supervisor ISA specification are
-required to have a HLIC with these three interrupt sources present. Since the
-interrupt map is defined by the ISA it's not listed in the HLIC's device tree
-entry, though external interrupt controllers (like the PLIC, for example) will
-need to define how their interrupts map to the relevant HLICs. This means
-a PLIC interrupt property will typically list the HLICs for all present HARTs
-in the system.
-
-Required properties:
-- compatible : "riscv,cpu-intc"
-- #interrupt-cells : should be <1>. The interrupt sources are defined by the
- RISC-V supervisor ISA manual, with only the following three interrupts being
- defined for supervisor mode:
- - Source 1 is the supervisor software interrupt, which can be sent by an SBI
- call and is reserved for use by software.
- - Source 5 is the supervisor timer interrupt, which can be configured by
- SBI calls and implements a one-shot timer.
- - Source 9 is the supervisor external interrupt, which chains to all other
- device interrupts.
-- interrupt-controller : Identifies the node as an interrupt controller
-
-Furthermore, this interrupt-controller MUST be embedded inside the cpu
-definition of the hart whose CSRs control these local interrupts.
-
-An example device tree entry for a HLIC is show below.
-
- cpu1: cpu@1 {
- compatible = "riscv";
- ...
- cpu1-intc: interrupt-controller {
- #interrupt-cells = <1>;
- compatible = "sifive,fu540-c000-cpu-intc", "riscv,cpu-intc";
- interrupt-controller;
- };
- };
diff --git a/Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.yaml
new file mode 100644
index 000000000000..83256cc0bd5c
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.yaml
@@ -0,0 +1,73 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/interrupt-controller/riscv,cpu-intc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: RISC-V Hart-Level Interrupt Controller (HLIC)
+
+description:
+ RISC-V cores include Control Status Registers (CSRs) which are local to
+ each CPU core (HART in RISC-V terminology) and can be read or written by
+ software. Some of these CSRs are used to control local interrupts connected
+ to the core. Every interrupt is ultimately routed through a hart's HLIC
+ before it interrupts that hart.
+
+ The RISC-V supervisor ISA manual specifies three interrupt sources that are
+ attached to every HLIC namely software interrupts, the timer interrupt, and
+ external interrupts. Software interrupts are used to send IPIs between
+ cores. The timer interrupt comes from an architecturally mandated real-
+ time timer that is controlled via Supervisor Binary Interface (SBI) calls
+ and CSR reads. External interrupts connect all other device interrupts to
+ the HLIC, which are routed via the platform-level interrupt controller
+ (PLIC).
+
+ All RISC-V systems that conform to the supervisor ISA specification are
+ required to have a HLIC with these three interrupt sources present. Since
+ the interrupt map is defined by the ISA it's not listed in the HLIC's device
+ tree entry, though external interrupt controllers (like the PLIC, for
+ example) will need to define how their interrupts map to the relevant HLICs.
+ This means a PLIC interrupt property will typically list the HLICs for all
+ present HARTs in the system.
+
+maintainers:
+ - Palmer Dabbelt <palmer@dabbelt.com>
+ - Paul Walmsley <paul.walmsley@sifive.com>
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - const: andestech,cpu-intc
+ - const: riscv,cpu-intc
+ - const: riscv,cpu-intc
+
+ interrupt-controller: true
+
+ '#interrupt-cells':
+ const: 1
+ description: |
+ The interrupt sources are defined by the RISC-V supervisor ISA manual,
+ with only the following three interrupts being defined for
+ supervisor mode:
+ - Source 1 is the supervisor software interrupt, which can be sent by
+ an SBI call and is reserved for use by software.
+ - Source 5 is the supervisor timer interrupt, which can be configured
+ by SBI calls and implements a one-shot timer.
+ - Source 9 is the supervisor external interrupt, which chains to all
+ other device interrupts.
+
+required:
+ - compatible
+ - '#interrupt-cells'
+ - interrupt-controller
+
+additionalProperties: false
+
+examples:
+ - |
+ interrupt-controller {
+ #interrupt-cells = <1>;
+ compatible = "riscv,cpu-intc";
+ interrupt-controller;
+ };
--
2.45.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [RESEND v4 2/2] dt-bindings: riscv: cpus: add ref to interrupt-controller
2024-06-15 2:15 [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc Kanak Shilledar
2024-06-15 2:15 ` [RESEND v4 1/2] dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema Kanak Shilledar
@ 2024-06-15 2:15 ` Kanak Shilledar
2024-06-24 20:24 ` Rob Herring (Arm)
2024-06-27 17:50 ` [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc patchwork-bot+linux-riscv
2 siblings, 1 reply; 6+ messages in thread
From: Kanak Shilledar @ 2024-06-15 2:15 UTC (permalink / raw)
Cc: kanakshilledar111, Kanak Shilledar, Thomas Gleixner, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt,
Albert Ou, Samuel Holland, linux-kernel, devicetree, linux-riscv,
Conor Dooley
removed the redundant properties for interrupt-controller
and provide reference to the riscv,cpu-intc.yaml which defines
the interrupt-controller. making the properties for riscv
interrupt-controller at a central place.
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Kanak Shilledar <kanakshilledar@gmail.com>
---
Changes in v4:
- Change DCO email to @gmail.com
Changes in v3:
- No change.
- Rolling out as RESEND.
Changes in v2:
- Fix warning of `type` is a required property during `make
dt_bindings_check`.
---
.../devicetree/bindings/riscv/cpus.yaml | 21 +------------------
1 file changed, 1 insertion(+), 20 deletions(-)
diff --git a/Documentation/devicetree/bindings/riscv/cpus.yaml b/Documentation/devicetree/bindings/riscv/cpus.yaml
index d87dd50f1a4b..f1241e5e8753 100644
--- a/Documentation/devicetree/bindings/riscv/cpus.yaml
+++ b/Documentation/devicetree/bindings/riscv/cpus.yaml
@@ -102,26 +102,7 @@ properties:
interrupt-controller:
type: object
- additionalProperties: false
- description: Describes the CPU's local interrupt controller
-
- properties:
- '#interrupt-cells':
- const: 1
-
- compatible:
- oneOf:
- - items:
- - const: andestech,cpu-intc
- - const: riscv,cpu-intc
- - const: riscv,cpu-intc
-
- interrupt-controller: true
-
- required:
- - '#interrupt-cells'
- - compatible
- - interrupt-controller
+ $ref: /schemas/interrupt-controller/riscv,cpu-intc.yaml#
cpu-idle-states:
$ref: /schemas/types.yaml#/definitions/phandle-array
--
2.45.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [RESEND v4 1/2] dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema
2024-06-15 2:15 ` [RESEND v4 1/2] dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema Kanak Shilledar
@ 2024-06-24 20:22 ` Rob Herring (Arm)
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2024-06-24 20:22 UTC (permalink / raw)
To: Kanak Shilledar
Cc: Conor Dooley, Albert Ou, Samuel Holland, Conor Dooley,
Palmer Dabbelt, Paul Walmsley, linux-kernel, Krzysztof Kozlowski,
kanakshilledar111, Thomas Gleixner, linux-riscv, devicetree
On Sat, 15 Jun 2024 07:45:03 +0530, Kanak Shilledar wrote:
> Convert the RISC-V Hart-Level Interrupt Controller (HLIC) to newer
> DT schema, Created DT schema based on the .txt file which had
> `compatible`, `#interrupt-cells` and `interrupt-controller` as
> required properties.
> Changes made with respect to original file:
> - Changed the example to just use interrupt-controller instead of
> using the whole cpu block
> - Changed the example compatible string.
>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> Signed-off-by: Kanak Shilledar <kanakshilledar@gmail.com>
> ---
> Changes in v4:
> - Change DCO email to @gmail.com
> Changes in v3:
> - Remove reference to `interrupt-controller` in `riscv/cpus.yaml`.
> Changes in v2:
> - Update the maintainers list.
> - Add reference to `interrupt-controller` in `riscv/cpus.yaml`.
> - Update compatible property with the reference in `cpus.yaml`.
> - Include description for '#interrupt-cells' property.
> - Change '#interrupt-cells' property to have `const: 1` as per the
> text binding.
> - Fixed the warning thrown by `/renesas/r9a07g043f01-smarc.dtb`.
> ---
> .../interrupt-controller/riscv,cpu-intc.txt | 52 -------------
> .../interrupt-controller/riscv,cpu-intc.yaml | 73 +++++++++++++++++++
> 2 files changed, 73 insertions(+), 52 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt
> create mode 100644 Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.yaml
>
Applied, thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RESEND v4 2/2] dt-bindings: riscv: cpus: add ref to interrupt-controller
2024-06-15 2:15 ` [RESEND v4 2/2] dt-bindings: riscv: cpus: add ref to interrupt-controller Kanak Shilledar
@ 2024-06-24 20:24 ` Rob Herring (Arm)
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2024-06-24 20:24 UTC (permalink / raw)
To: Kanak Shilledar
Cc: Samuel Holland, Thomas Gleixner, Krzysztof Kozlowski,
Palmer Dabbelt, Paul Walmsley, Conor Dooley, linux-kernel,
Albert Ou, linux-riscv, kanakshilledar111, devicetree,
Conor Dooley
On Sat, 15 Jun 2024 07:45:04 +0530, Kanak Shilledar wrote:
> removed the redundant properties for interrupt-controller
> and provide reference to the riscv,cpu-intc.yaml which defines
> the interrupt-controller. making the properties for riscv
> interrupt-controller at a central place.
>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> Signed-off-by: Kanak Shilledar <kanakshilledar@gmail.com>
> ---
> Changes in v4:
> - Change DCO email to @gmail.com
> Changes in v3:
> - No change.
> - Rolling out as RESEND.
> Changes in v2:
> - Fix warning of `type` is a required property during `make
> dt_bindings_check`.
> ---
> .../devicetree/bindings/riscv/cpus.yaml | 21 +------------------
> 1 file changed, 1 insertion(+), 20 deletions(-)
>
Applied, thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc
2024-06-15 2:15 [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc Kanak Shilledar
2024-06-15 2:15 ` [RESEND v4 1/2] dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema Kanak Shilledar
2024-06-15 2:15 ` [RESEND v4 2/2] dt-bindings: riscv: cpus: add ref to interrupt-controller Kanak Shilledar
@ 2024-06-27 17:50 ` patchwork-bot+linux-riscv
2 siblings, 0 replies; 6+ messages in thread
From: patchwork-bot+linux-riscv @ 2024-06-27 17:50 UTC (permalink / raw)
To: Kanak Shilledar
Cc: linux-riscv, kanakshilledar111, tglx, robh,
krzysztof.kozlowski+dt, conor+dt, paul.walmsley, palmer, aou,
samuel.holland, linux-kernel, devicetree, conor.dooley
Hello:
This series was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@rivosinc.com>:
On Sat, 15 Jun 2024 07:45:02 +0530 you wrote:
> This series of patches converts the RISC-V CPU interrupt controller to
> the newer dt-schema binding.
>
> Patch 1:
> This patch is currently at v4 as it has been previously rolled out.
> Contains the bindings for the interrupt controller.
>
> [...]
Here is the summary with links:
- [RESEND,v4,1/2] dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema
https://git.kernel.org/riscv/c/9ff141042a62
- [RESEND,v4,2/2] dt-bindings: riscv: cpus: add ref to interrupt-controller
https://git.kernel.org/riscv/c/1f6e218859f1
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-06-27 17:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-15 2:15 [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc Kanak Shilledar
2024-06-15 2:15 ` [RESEND v4 1/2] dt-bindings: interrupt-controller: riscv,cpu-intc: convert to dtschema Kanak Shilledar
2024-06-24 20:22 ` Rob Herring (Arm)
2024-06-15 2:15 ` [RESEND v4 2/2] dt-bindings: riscv: cpus: add ref to interrupt-controller Kanak Shilledar
2024-06-24 20:24 ` Rob Herring (Arm)
2024-06-27 17:50 ` [RESEND v4 0/2] dt-bindings: interrupt-controller: riscv,cpu-intc patchwork-bot+linux-riscv
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).