[PATCH v5] dt-bindings: net: can: ifi,canfd-1.0: Convert to DT schema
From: Quchaosheng <hidden>
Date: 2026-09-14 03:01:36
Also in:
linux-can
Subsystem:
can network drivers, open firmware and flattened device tree bindings, the rest · Maintainers:
Marc Kleine-Budde, Vincent Mailhol, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds
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 <redacted> --- 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