* [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