Devicetree
 help / color / mirror / Atom feed
* [PATCH v5] dt-bindings: net: can: ifi,canfd-1.0: Convert to DT schema
@ 2026-09-14  3:01 Quchaosheng
  2026-09-16  1:58 ` [PATCH v6] " Quchaosheng
  0 siblings, 1 reply; 3+ messages in thread
From: Quchaosheng @ 2026-09-14  3:01 UTC (permalink / raw)
  To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-can, devicetree, quchaosheng000406

Convert the IFI CAN-FD controller binding from free-form text to DT
schema, and reference the common can-controller.yaml schema.

The driver matches on the "ifi,canfd-1.0" compatible and obtains its
interrupt through platform_get_irq(), so interrupts is required.

The example uses the GIC and irq header defines instead of the raw
numbers from the original text, which keeps the values unchanged
(GIC_SPI is 0, IRQ_TYPE_NONE is 0 and 1 is IRQ_TYPE_EDGE_RISING). The
node name is changed from "canfd" to "can" so that it matches the
$nodename pattern required by can-controller.yaml.

Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---
v2:
 - Correct the description: this is a soft IP block typically synthesised
   into an FPGA or CPLD, not a controller found on Renesas SoCs.
   Wording now follows the driver's Kconfig entry.

v3:
 - Use unevaluatedProperties: false instead of additionalProperties: false.
   As can-controller.yaml is referenced through allOf, additionalProperties
   would have rejected properties defined by that common schema, such as
   termination-gpios and termination-ohms.

v4:
 - Use defines instead of raw numbers in the example, and rename the
   example node from canfd to can. No functional change.

v5:
 - Re-send the patch on its own. The v4 posting accidentally included
   unrelated changes to the xilinx-xadc binding and did not remove
   ifi_canfd.txt. Only the intended change is present now.
---
 .../bindings/net/can/ifi,canfd.yaml           | 46 +++++++++++++++++++
 .../devicetree/bindings/net/can/ifi_canfd.txt | 15 ------
 2 files changed, 46 insertions(+), 15 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/can/ifi,canfd.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/can/ifi_canfd.txt

diff --git a/Documentation/devicetree/bindings/net/can/ifi,canfd.yaml b/Documentation/devicetree/bindings/net/can/ifi,canfd.yaml
new file mode 100644
index 000000000..c8c3105c7
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/ifi,canfd.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/can/ifi,canfd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: IFI CAN-FD Controller
+
+maintainers:
+  - Marc Kleine-Budde <mkl@pengutronix.de>
+
+description:
+  The I/F/I CAN-FD soft IP block connected to the platform bus. It is most
+  often synthesised into an FPGA or CPLD.
+
+allOf:
+  - $ref: can-controller.yaml#
+
+properties:
+  compatible:
+    const: ifi,canfd-1.0
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    can@ff220000 {
+        compatible = "ifi,canfd-1.0";
+        reg = <0xff220000 0x1000>;
+        interrupts = <GIC_SPI 43 IRQ_TYPE_NONE>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/net/can/ifi_canfd.txt b/Documentation/devicetree/bindings/net/can/ifi_canfd.txt
deleted file mode 100644
index 20ea5c70a..000000000
--- a/Documentation/devicetree/bindings/net/can/ifi_canfd.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-IFI CANFD controller
---------------------
-
-Required properties:
-  - compatible: Should be "ifi,canfd-1.0"
-  - reg: Should contain CAN controller registers location and length
-  - interrupts: Should contain IRQ line for the CAN controller
-
-Example:
-
-	canfd0: canfd@ff220000 {
-		compatible = "ifi,canfd-1.0";
-		reg = <0xff220000 0x00001000>;
-		interrupts = <0 43 0>;
-	};
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v6] dt-bindings: net: can: ifi,canfd-1.0: Convert to DT schema
  2026-09-14  3:01 [PATCH v5] dt-bindings: net: can: ifi,canfd-1.0: Convert to DT schema Quchaosheng
@ 2026-09-16  1:58 ` Quchaosheng
  2026-09-21 17:40   ` Rob Herring (Arm)
  0 siblings, 1 reply; 3+ messages in thread
From: Quchaosheng @ 2026-09-16  1:58 UTC (permalink / raw)
  To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-can, devicetree, quchaosheng000406

Convert the IFI CAN-FD controller binding from free-form text to DT
schema, and reference the common can-controller.yaml schema.

The driver matches on the "ifi,canfd-1.0" compatible and obtains its
interrupt through platform_get_irq(), so interrupts is required.

The example uses the GIC and irq header defines instead of the raw
numbers from the original text, which keeps the values unchanged
(GIC_SPI is 0, IRQ_TYPE_NONE is 0 and 1 is IRQ_TYPE_EDGE_RISING). The
node name is changed from "canfd" to "can" so that it matches the
$nodename pattern required by can-controller.yaml.

Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---
v2:
 - Correct the description: this is a soft IP block typically synthesised
   into an FPGA or CPLD, not a controller found on Renesas SoCs.
   Wording now follows the driver's Kconfig entry.

v3:
 - Use unevaluatedProperties: false instead of additionalProperties: false.
   As can-controller.yaml is referenced through allOf, additionalProperties
   would have rejected properties defined by that common schema, such as
   termination-gpios and termination-ohms.

v4:
 - Use defines instead of raw numbers in the example, and rename the
   example node from canfd to can. No functional change.

v5:
 - Re-send the patch on its own. The v4 posting accidentally included
   unrelated changes to the xilinx-xadc binding and did not remove
   ifi_canfd.txt. Only the intended change is present now.

v6:
 - No content change. Fix the patch format: the changelog was placed in the
   commit message instead of after the '---' separator, which confused
   Patchwork. Move it back where it belongs.
 .../bindings/net/can/ifi,canfd.yaml           | 46 +++++++++++++++++++
 .../devicetree/bindings/net/can/ifi_canfd.txt | 15 ------
 2 files changed, 46 insertions(+), 15 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/can/ifi,canfd.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/can/ifi_canfd.txt

diff --git a/Documentation/devicetree/bindings/net/can/ifi,canfd.yaml b/Documentation/devicetree/bindings/net/can/ifi,canfd.yaml
new file mode 100644
index 000000000..c8c3105c7
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/ifi,canfd.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/can/ifi,canfd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: IFI CAN-FD Controller
+
+maintainers:
+  - Marc Kleine-Budde <mkl@pengutronix.de>
+
+description:
+  The I/F/I CAN-FD soft IP block connected to the platform bus. It is most
+  often synthesised into an FPGA or CPLD.
+
+allOf:
+  - $ref: can-controller.yaml#
+
+properties:
+  compatible:
+    const: ifi,canfd-1.0
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    can@ff220000 {
+        compatible = "ifi,canfd-1.0";
+        reg = <0xff220000 0x1000>;
+        interrupts = <GIC_SPI 43 IRQ_TYPE_NONE>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/net/can/ifi_canfd.txt b/Documentation/devicetree/bindings/net/can/ifi_canfd.txt
deleted file mode 100644
index 20ea5c70a..000000000
--- a/Documentation/devicetree/bindings/net/can/ifi_canfd.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-IFI CANFD controller
---------------------
-
-Required properties:
-  - compatible: Should be "ifi,canfd-1.0"
-  - reg: Should contain CAN controller registers location and length
-  - interrupts: Should contain IRQ line for the CAN controller
-
-Example:
-
-	canfd0: canfd@ff220000 {
-		compatible = "ifi,canfd-1.0";
-		reg = <0xff220000 0x00001000>;
-		interrupts = <0 43 0>;
-	};
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v6] dt-bindings: net: can: ifi,canfd-1.0: Convert to DT schema
  2026-09-16  1:58 ` [PATCH v6] " Quchaosheng
@ 2026-09-21 17:40   ` Rob Herring (Arm)
  0 siblings, 0 replies; 3+ messages in thread
From: Rob Herring (Arm) @ 2026-09-21 17:40 UTC (permalink / raw)
  To: Quchaosheng
  Cc: Vincent Mailhol, Marc Kleine-Budde, Conor Dooley, linux-can,
	devicetree, Krzysztof Kozlowski


On Wed, 16 Sep 2026 09:58:05 +0800, Quchaosheng wrote:
> Convert the IFI CAN-FD controller binding from free-form text to DT
> schema, and reference the common can-controller.yaml schema.
> 
> The driver matches on the "ifi,canfd-1.0" compatible and obtains its
> interrupt through platform_get_irq(), so interrupts is required.
> 
> The example uses the GIC and irq header defines instead of the raw
> numbers from the original text, which keeps the values unchanged
> (GIC_SPI is 0, IRQ_TYPE_NONE is 0 and 1 is IRQ_TYPE_EDGE_RISING). The
> node name is changed from "canfd" to "can" so that it matches the
> $nodename pattern required by can-controller.yaml.
> 
> Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
> ---
> v2:
>  - Correct the description: this is a soft IP block typically synthesised
>    into an FPGA or CPLD, not a controller found on Renesas SoCs.
>    Wording now follows the driver's Kconfig entry.
> 
> v3:
>  - Use unevaluatedProperties: false instead of additionalProperties: false.
>    As can-controller.yaml is referenced through allOf, additionalProperties
>    would have rejected properties defined by that common schema, such as
>    termination-gpios and termination-ohms.
> 
> v4:
>  - Use defines instead of raw numbers in the example, and rename the
>    example node from canfd to can. No functional change.
> 
> v5:
>  - Re-send the patch on its own. The v4 posting accidentally included
>    unrelated changes to the xilinx-xadc binding and did not remove
>    ifi_canfd.txt. Only the intended change is present now.
> 
> v6:
>  - No content change. Fix the patch format: the changelog was placed in the
>    commit message instead of after the '---' separator, which confused
>    Patchwork. Move it back where it belongs.
>  .../bindings/net/can/ifi,canfd.yaml           | 46 +++++++++++++++++++
>  .../devicetree/bindings/net/can/ifi_canfd.txt | 15 ------
>  2 files changed, 46 insertions(+), 15 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/can/ifi,canfd.yaml
>  delete mode 100644 Documentation/devicetree/bindings/net/can/ifi_canfd.txt
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-21 17:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14  3:01 [PATCH v5] dt-bindings: net: can: ifi,canfd-1.0: Convert to DT schema Quchaosheng
2026-09-16  1:58 ` [PATCH v6] " Quchaosheng
2026-09-21 17:40   ` Rob Herring (Arm)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox