Devicetree
 help / color / mirror / Atom feed
* [PATCH v8 0/3] dt-bindings: net: can: convert three bindings to DT schema
@ 2026-09-22 10:22 Quchaosheng
  2026-09-22 10:22 ` [PATCH v8 1/3] dt-bindings: net: can: ifi,canfd-1.0: Convert " Quchaosheng
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Quchaosheng @ 2026-09-22 10:22 UTC (permalink / raw)
  To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-can, devicetree, linux-kernel, quchaosheng000406

Three CAN controller bindings converted from free-form text to DT schema.

One series, one thread.

What changed since v7: v7 dropped the spi-peripheral-props.yaml reference
from holt,hi311x, on the grounds that the example does not use SPI
properties. That was wrong. The HI-3110 is an SPI peripheral, so its node
carries spi-max-frequency, and unevaluatedProperties: false rejects it
without the reference. dt_binding_check against a node carrying
spi-max-frequency fails without the reference and passes with it.

holt,hi311x is therefore back to exactly what Rob reviewed in v6. Only
patch 2/3 differs from v7; the other two are unchanged.

ifi,canfd-1.0
	Unchanged from v7.

holt,hi311x
	Restore the $ref to spi/spi-peripheral-props.yaml. Identical to v6 again.

fsl,mpc5xxx-mscan
	Unchanged from v7.


Quchaosheng (3):
  dt-bindings: net: can: ifi,canfd-1.0: Convert to DT schema
  dt-bindings: net: can: holt,hi311x: Convert to DT schema
  dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema

 .../bindings/net/can/fsl,mpc5xxx-mscan.yaml   | 109 ++++++++++++++++++
 .../bindings/net/can/holt,hi311x.yaml         |  67 +++++++++++
 .../bindings/net/can/holt_hi311x.txt          |  23 ----
 .../bindings/net/can/ifi,canfd.yaml           |  46 ++++++++
 .../devicetree/bindings/net/can/ifi_canfd.txt |  15 ---
 .../bindings/net/can/mpc5xxx-mscan.txt        |  53 ---------
 6 files changed, 222 insertions(+), 91 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
 create mode 100644 Documentation/devicetree/bindings/net/can/holt,hi311x.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/can/holt_hi311x.txt
 create mode 100644 Documentation/devicetree/bindings/net/can/ifi,canfd.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/can/ifi_canfd.txt
 delete mode 100644 Documentation/devicetree/bindings/net/can/mpc5xxx-mscan.txt

-- 
2.43.0


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

* [PATCH v8 1/3] dt-bindings: net: can: ifi,canfd-1.0: Convert to DT schema
  2026-09-22 10:22 [PATCH v8 0/3] dt-bindings: net: can: convert three bindings to DT schema Quchaosheng
@ 2026-09-22 10:22 ` Quchaosheng
  2026-09-22 10:22 ` [PATCH v8 2/3] dt-bindings: net: can: holt,hi311x: " Quchaosheng
  2026-09-22 10:22 ` [PATCH v8 3/3] dt-bindings: net: can: fsl,mpc5xxx-mscan: " Quchaosheng
  2 siblings, 0 replies; 7+ messages in thread
From: Quchaosheng @ 2026-09-22 10:22 UTC (permalink / raw)
  To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-can, devicetree, linux-kernel, quchaosheng000406

Convert the IFI CAN-FD controller binding from free-form text to DT
schema.

Reference can-controller.yaml. interrupts is required: the driver obtains
it with platform_get_irq().

The example now uses the GIC and irq header defines instead of raw numbers.
The values are unchanged: GIC_SPI is 0, IRQ_TYPE_NONE is 0 and 1 is
IRQ_TYPE_EDGE_RISING. Rename the example node from canfd to can so that it
matches the $nodename pattern in can-controller.yaml.

Assisted-by: LLM
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
---

v8:
 - No change.
 .../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 000000000000..c8c3105c727b
--- /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 20ea5c70ab82..000000000000
--- 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] 7+ messages in thread

* [PATCH v8 2/3] dt-bindings: net: can: holt,hi311x: Convert to DT schema
  2026-09-22 10:22 [PATCH v8 0/3] dt-bindings: net: can: convert three bindings to DT schema Quchaosheng
  2026-09-22 10:22 ` [PATCH v8 1/3] dt-bindings: net: can: ifi,canfd-1.0: Convert " Quchaosheng
@ 2026-09-22 10:22 ` Quchaosheng
  2026-09-22 12:46   ` Rob Herring (Arm)
  2026-09-22 10:22 ` [PATCH v8 3/3] dt-bindings: net: can: fsl,mpc5xxx-mscan: " Quchaosheng
  2 siblings, 1 reply; 7+ messages in thread
From: Quchaosheng @ 2026-09-22 10:22 UTC (permalink / raw)
  To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-can, devicetree, linux-kernel, quchaosheng000406, Sashiko

Convert the Holt HI-311X binding from free-form text to DT schema.

Reference can-controller.yaml and spi/spi-peripheral-props.yaml. The
HI-3110 sits on an SPI bus, so its node carries the standard SPI
properties, spi-max-frequency among them. With unevaluatedProperties:
false and no reference to spi-peripheral-props.yaml, dtbs_check rejects
those properties:

  can@1 (holt,hi3110): Unevaluated properties are not allowed
    ('spi-max-frequency' was unexpected)

Keep the properties and the example as the original text describes them,
including clocks as a required property.

Assisted-by: LLM
Reported-by: Sashiko <sashiko-bot@kernel.org>
Link: https://sashiko.dev/#/patchset/20260922084542.104788-1-quchaosheng000406@163.com?part=2
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---

v8:
 - Put back the $ref to spi/spi-peripheral-props.yaml. v7 dropped it as
   redundant, but the HI-3110 is an SPI peripheral and its node carries
   spi-max-frequency. With unevaluatedProperties: false and no reference,
   dt_binding_check reports:

     can@1 (holt,hi3110): Unevaluated properties are not allowed
       ('spi-max-frequency' was unexpected)

   A node carrying spi-max-frequency fails without the reference and passes
   with it, so the reference is required. Reported by sashiko.

   The schema is identical to the v6 that Rob reviewed, so his Reviewed-by
   is kept.
 .../bindings/net/can/holt,hi311x.yaml         | 67 +++++++++++++++++++
 .../bindings/net/can/holt_hi311x.txt          | 23 -------
 2 files changed, 67 insertions(+), 23 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/can/holt,hi311x.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/can/holt_hi311x.txt

diff --git a/Documentation/devicetree/bindings/net/can/holt,hi311x.yaml b/Documentation/devicetree/bindings/net/can/holt,hi311x.yaml
new file mode 100644
index 000000000000..9ec6abb1279a
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/holt,hi311x.yaml
@@ -0,0 +1,67 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/can/holt,hi311x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Holt HI-311X stand-alone CAN controller
+
+maintainers:
+  - Marc Kleine-Budde <mkl@pengutronix.de>
+
+description:
+  The Holt HI-3110 is a stand-alone CAN controller with an SPI interface.
+
+allOf:
+  - $ref: can-controller.yaml#
+  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+properties:
+  compatible:
+    const: holt,hi3110
+
+  reg:
+    description: SPI chip select.
+    maxItems: 1
+
+  clocks:
+    description: The clock feeding the CAN controller.
+    maxItems: 1
+
+  interrupts:
+    description: IRQ line for the CAN controller.
+    maxItems: 1
+
+  vdd-supply:
+    description: Regulator that powers the CAN controller.
+
+  xceiver-supply:
+    description: Regulator that powers the CAN transceiver.
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - interrupts
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        can@1 {
+            compatible = "holt,hi3110";
+            reg = <1>;
+            clocks = <&clk32m>;
+            interrupt-parent = <&gpio4>;
+            interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
+            vdd-supply = <&reg5v0>;
+            xceiver-supply = <&reg5v0>;
+        };
+    };
+...
diff --git a/Documentation/devicetree/bindings/net/can/holt_hi311x.txt b/Documentation/devicetree/bindings/net/can/holt_hi311x.txt
deleted file mode 100644
index 3a9926f99937..000000000000
--- a/Documentation/devicetree/bindings/net/can/holt_hi311x.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-* Holt HI-311X stand-alone CAN controller device tree bindings
-
-Required properties:
- - compatible: Should be one of the following:
-   - "holt,hi3110" for HI-3110
- - reg: SPI chip select.
- - clocks: The clock feeding the CAN controller.
- - interrupts: Should contain IRQ line for the CAN controller.
-
-Optional properties:
- - vdd-supply: Regulator that powers the CAN controller.
- - xceiver-supply: Regulator that powers the CAN transceiver.
-
-Example:
-	can0: can@1 {
-		compatible = "holt,hi3110";
-		reg = <1>;
-		clocks = <&clk32m>;
-		interrupt-parent = <&gpio4>;
-		interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
-		vdd-supply = <&reg5v0>;
-		xceiver-supply = <&reg5v0>;
-	};
-- 
2.43.0


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

* [PATCH v8 3/3] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema
  2026-09-22 10:22 [PATCH v8 0/3] dt-bindings: net: can: convert three bindings to DT schema Quchaosheng
  2026-09-22 10:22 ` [PATCH v8 1/3] dt-bindings: net: can: ifi,canfd-1.0: Convert " Quchaosheng
  2026-09-22 10:22 ` [PATCH v8 2/3] dt-bindings: net: can: holt,hi311x: " Quchaosheng
@ 2026-09-22 10:22 ` Quchaosheng
  2026-09-23 14:30   ` Rob Herring
  2 siblings, 1 reply; 7+ messages in thread
From: Quchaosheng @ 2026-09-22 10:22 UTC (permalink / raw)
  To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-can, devicetree, linux-kernel, quchaosheng000406

Convert the Freescale MPC5xxx MSCAN binding from free-form text to DT
schema.

The original text documents fsl,mpc5200-mscan and fsl,mpc5121-mscan in two
separate sections. Keep that split: fsl,mscan-clock-source takes "ip" or
"ref" on fsl,mpc5200-mscan, and "ip", "ref" or "sys" on fsl,mpc5121-mscan.

Add fsl,mpc5200b-mscan as a fallback of fsl,mpc5200-mscan. mpc5200b.dtsi
uses it.

Document clocks and clock-names, which the original text does not describe.
fsl,mpc5121-mscan requires the "ipg", "ips", "sys", "ref" and "mclk"
clocks in that order, as mpc5121.dtsi supplies them. MPC5200 does not use
DT clocks; it takes its frequency from the CDM block.

fsl,mscan-clock-divider divides the selected clock, so value 0 cannot be
used.

Keep the note that the MPC5121 Rev. 1 processor is not supported.

Assisted-by: LLM
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---

v8:
 - No change.
 .../bindings/net/can/fsl,mpc5xxx-mscan.yaml   | 109 ++++++++++++++++++
 .../bindings/net/can/mpc5xxx-mscan.txt        |  53 ---------
 2 files changed, 109 insertions(+), 53 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/can/mpc5xxx-mscan.txt

diff --git a/Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml b/Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
new file mode 100644
index 000000000000..77aa46fd62ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
@@ -0,0 +1,109 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/can/fsl,mpc5xxx-mscan.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale MPC5xxx MSCAN controller
+
+maintainers:
+  - Marc Kleine-Budde <mkl@pengutronix.de>
+
+description:
+  The MSCAN controller found on the Freescale MPC5200 and MPC5121 SoCs. The
+  MPC5121 Rev. 1 processor is not supported.
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - enum:
+              - fsl,mpc5200b-mscan
+          - const: fsl,mpc5200-mscan
+      - enum:
+          - fsl,mpc5200-mscan
+          - fsl,mpc5121-mscan
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    description:
+      Clocks feeding the controller. fsl,mpc5200-mscan takes its frequency
+      from the CDM block and does not use DT clocks.
+    minItems: 5
+    maxItems: 5
+
+  clock-names:
+    items:
+      - const: ipg
+      - const: ips
+      - const: sys
+      - const: ref
+      - const: mclk
+
+  fsl,mscan-clock-source:
+    description:
+      Clock source used for the controller. When the property is not present,
+      fsl,mpc5200-mscan uses the reference clock, while fsl,mpc5121-mscan
+      selects an optimal clock source and frequency based on the system clock
+      and uses the reference clock when that is not possible.
+    enum: [ip, ref, sys]
+
+  fsl,mscan-clock-divider:
+    description: Additional clock divider for the reference and system clocks.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    minimum: 1
+    default: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+allOf:
+  - $ref: can-controller.yaml#
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,mpc5200-mscan
+    then:
+      properties:
+        fsl,mscan-clock-source:
+          enum: [ip, ref]
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,mpc5121-mscan
+    then:
+      required:
+        - clocks
+        - clock-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/mpc512x-clock.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    can@1300 {
+        compatible = "fsl,mpc5121-mscan";
+        reg = <0x1300 0x80>;
+        interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+        interrupt-parent = <&ipic>;
+        clocks = <&clks MPC512x_CLK_BDLC>, <&clks MPC512x_CLK_IPS>,
+                 <&clks MPC512x_CLK_SYS>, <&clks MPC512x_CLK_REF>,
+                 <&clks MPC512x_CLK_MSCAN0_MCLK>;
+        clock-names = "ipg", "ips", "sys", "ref", "mclk";
+        fsl,mscan-clock-source = "ref";
+        fsl,mscan-clock-divider = <3>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/net/can/mpc5xxx-mscan.txt b/Documentation/devicetree/bindings/net/can/mpc5xxx-mscan.txt
deleted file mode 100644
index 2fa4fcd38fd6..000000000000
--- a/Documentation/devicetree/bindings/net/can/mpc5xxx-mscan.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-CAN Device Tree Bindings
-------------------------
-
-(c) 2006-2009 Secret Lab Technologies Ltd
-Grant Likely <grant.likely@secretlab.ca>
-
-fsl,mpc5200-mscan nodes
------------------------
-In addition to the required compatible-, reg- and interrupt-properties, you can
-also specify which clock source shall be used for the controller:
-
-- fsl,mscan-clock-source : a string describing the clock source. Valid values
-			   are:	"ip" for ip bus clock
-				 "ref" for reference clock (XTAL)
-			   "ref" is default in case this property is not
-			   present.
-
-fsl,mpc5121-mscan nodes
------------------------
-In addition to the required compatible-, reg- and interrupt-properties, you can
-also specify which clock source and divider shall be used for the controller:
-
-- fsl,mscan-clock-source : a string describing the clock source. Valid values
-			   are:	"ip" for ip bus clock
-				"ref" for reference clock
-				"sys" for system clock
-			   If this property is not present, an optimal CAN
-			   clock source and frequency based on the system
-			   clock will be selected. If this is not possible,
-			   the reference clock will be used.
-
-- fsl,mscan-clock-divider: for the reference and system clock, an additional
-			   clock divider can be specified. By default, a
-			   value of 1 is used.
-
-Note that the MPC5121 Rev. 1 processor is not supported.
-
-Examples:
-	can@1300 {
-		compatible = "fsl,mpc5121-mscan";
-		interrupts = <12 0x8>;
-		interrupt-parent = <&ipic>;
-		reg = <0x1300 0x80>;
-	};
-
-	can@1380 {
-		compatible = "fsl,mpc5121-mscan";
-		interrupts = <13 0x8>;
-		interrupt-parent = <&ipic>;
-		reg = <0x1380 0x80>;
-		fsl,mscan-clock-source = "ref";
-		fsl,mscan-clock-divider = <3>;
-	};
-- 
2.43.0


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

* Re: [PATCH v8 2/3] dt-bindings: net: can: holt,hi311x: Convert to DT schema
  2026-09-22 10:22 ` [PATCH v8 2/3] dt-bindings: net: can: holt,hi311x: " Quchaosheng
@ 2026-09-22 12:46   ` Rob Herring (Arm)
  2026-09-23  1:38     ` Quchaosheng
  0 siblings, 1 reply; 7+ messages in thread
From: Rob Herring (Arm) @ 2026-09-22 12:46 UTC (permalink / raw)
  To: Quchaosheng
  Cc: Vincent Mailhol, linux-can, Krzysztof Kozlowski, linux-kernel,
	Sashiko, Marc Kleine-Budde, devicetree, Conor Dooley


On Tue, 22 Sep 2026 18:22:57 +0800, Quchaosheng wrote:
> Convert the Holt HI-311X binding from free-form text to DT schema.
> 
> Reference can-controller.yaml and spi/spi-peripheral-props.yaml. The
> HI-3110 sits on an SPI bus, so its node carries the standard SPI
> properties, spi-max-frequency among them. With unevaluatedProperties:
> false and no reference to spi-peripheral-props.yaml, dtbs_check rejects
> those properties:
> 
>   can@1 (holt,hi3110): Unevaluated properties are not allowed
>     ('spi-max-frequency' was unexpected)
> 
> Keep the properties and the example as the original text describes them,
> including clocks as a required property.
> 
> Assisted-by: LLM
> Reported-by: Sashiko <sashiko-bot@kernel.org>
> Link: https://sashiko.dev/#/patchset/20260922084542.104788-1-quchaosheng000406@163.com?part=2
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
> ---
> 
> v8:
>  - Put back the $ref to spi/spi-peripheral-props.yaml. v7 dropped it as
>    redundant, but the HI-3110 is an SPI peripheral and its node carries
>    spi-max-frequency. With unevaluatedProperties: false and no reference,
>    dt_binding_check reports:
> 
>      can@1 (holt,hi3110): Unevaluated properties are not allowed
>        ('spi-max-frequency' was unexpected)
> 
>    A node carrying spi-max-frequency fails without the reference and passes
>    with it, so the reference is required. Reported by sashiko.
> 
>    The schema is identical to the v6 that Rob reviewed, so his Reviewed-by
>    is kept.
>  .../bindings/net/can/holt,hi311x.yaml         | 67 +++++++++++++++++++
>  .../bindings/net/can/holt_hi311x.txt          | 23 -------
>  2 files changed, 67 insertions(+), 23 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/can/holt,hi311x.yaml
>  delete mode 100644 Documentation/devicetree/bindings/net/can/holt_hi311x.txt
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/memory-controllers/nvidia,tegra210-emc.example.dtb: emc-table@83400000 (nvidia,tegra210-emc-table): {'compatible': ['nvidia,tegra210-emc-table'], 'reg': [[2202009600, 65536]], 'phandle': 2, '$nodename': ['emc-table@83400000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/nvidia,tegra210-emc-table.yaml
Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.example.dtb: qman-fqd (fsl,qman-fqd): {'compatible': ['fsl,qman-fqd'], 'size': 4194304, 'alignment': 4194304, 'no-map': True, '$nodename': ['qman-fqd']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['size']}
	from schema $id: http://devicetree.org/schemas/soc/fsl/fsl,qman-fqd.yaml
Documentation/devicetree/bindings/soc/fsl/fsl,qman-fqd.example.dtb: qman-fqd (fsl,qman-fqd): Unevaluated properties are not allowed ('alignment', 'no-map', 'size' were unexpected)
	from schema $id: http://devicetree.org/schemas/soc/fsl/fsl,qman-fqd.yaml
Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.example.dtb: dsp-memory@98000000 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[2550136832, 8388608]], 'reusable': True, 'phandle': 1, '$nodename': ['dsp-memory@98000000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.example.dtb: dsp-memory@98000000 (shared-dma-pool): Unevaluated properties are not allowed ('reg', 'reusable' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.example.dtb: ipu-memory@95800000 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[0, 2508193792, 0, 58720256]], 'reusable': True, 'phandle': 2, '$nodename': ['ipu-memory@95800000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.example.dtb: ipu-memory@95800000 (shared-dma-pool): Unevaluated properties are not allowed ('reg', 'reusable' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.example.dtb: dsp1-memory@99000000 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[0, 2566914048, 0, 67108864]], 'reusable': True, 'phandle': 3, '$nodename': ['dsp1-memory@99000000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.example.dtb: dsp1-memory@99000000 (shared-dma-pool): Unevaluated properties are not allowed ('reg', 'reusable' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,k3-m4f-rproc.example.dtb: m4f-dma-memory@9cb00000 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[0, 2628780032, 0, 1048576]], 'no-map': True, 'phandle': 2, '$nodename': ['m4f-dma-memory@9cb00000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,k3-m4f-rproc.example.dtb: m4f-dma-memory@9cb00000 (shared-dma-pool): Unevaluated properties are not allowed ('no-map', 'reg' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,k3-m4f-rproc.example.dtb: m4f-memory@9cc00000 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[0, 2629828608, 0, 14680064]], 'no-map': True, 'phandle': 3, '$nodename': ['m4f-memory@9cc00000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/remoteproc/ti,k3-m4f-rproc.example.dtb: m4f-memory@9cc00000 (shared-dma-pool): Unevaluated properties are not allowed ('no-map', 'reg' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/dsp/fsl,dsp.example.dtb: vdev0buffer@94300000 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[2486173696, 1048576]], 'no-map': True, 'phandle': 2, '$nodename': ['vdev0buffer@94300000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/dsp/fsl,dsp.example.dtb: vdev0buffer@94300000 (shared-dma-pool): Unevaluated properties are not allowed ('no-map', 'reg' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/sound/google,cros-ec-codec.example.dtb: reserved-mem@52800000 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[1384120320, 1048576]], 'no-map': True, 'phandle': 2, '$nodename': ['reserved-mem@52800000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/sound/google,cros-ec-codec.example.dtb: reserved-mem@52800000 (shared-dma-pool): Unevaluated properties are not allowed ('no-map', 'reg' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/reserved-memory/nvidia,tegra264-bpmp-shmem.example.dtb: shmem@f1be0000 (nvidia,tegra264-bpmp-shmem): {'compatible': ['nvidia,tegra264-bpmp-shmem'], 'reg': [[0, 4055760896, 0, 8192]], 'no-map': True, '$nodename': ['shmem@f1be0000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/nvidia,tegra264-bpmp-shmem.yaml
Documentation/devicetree/bindings/reserved-memory/nvidia,tegra264-bpmp-shmem.example.dtb: shmem@f1be0000 (nvidia,tegra264-bpmp-shmem): Unevaluated properties are not allowed ('no-map' was unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/nvidia,tegra264-bpmp-shmem.yaml
Documentation/devicetree/bindings/reserved-memory/phram.example.dtb: flash@12340000 (phram): {'compatible': ['phram'], 'label': ['rootfs'], 'reg': [[305397760, 8388608]], '$nodename': ['flash@12340000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/phram.yaml
Documentation/devicetree/bindings/reserved-memory/ramoops.example.dtb: ramoops@bfdf0000 (ramoops): {'compatible': ['ramoops'], 'reg': [[3219062784, 65536]], 'console-size': 32768, 'record-size': 1024, 'ecc-size': 16, '$nodename': ['ramoops@bfdf0000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/ramoops.yaml
Documentation/devicetree/bindings/reserved-memory/qcom,cmd-db.example.dtb: reserved-memory@85fe0000 (qcom,cmd-db): {'reg': [[2248015872, 131072]], 'compatible': ['qcom,cmd-db'], 'no-map': True, '$nodename': ['reserved-memory@85fe0000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/qcom,cmd-db.yaml
Documentation/devicetree/bindings/reserved-memory/qcom,cmd-db.example.dtb: reserved-memory@85fe0000 (qcom,cmd-db): Unevaluated properties are not allowed ('no-map', 'reg' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/qcom,cmd-db.yaml
Documentation/devicetree/bindings/reserved-memory/intel,wakeup-mailbox.example.dtb: wakeup-mailbox@ffff0000 (intel,wakeup-mailbox): {'compatible': ['intel,wakeup-mailbox'], 'reg': [[0, 4294901760, 4096]], '$nodename': ['wakeup-mailbox@ffff0000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/intel,wakeup-mailbox.yaml
Documentation/devicetree/bindings/reserved-memory/intel,wakeup-mailbox.example.dtb: wakeup-mailbox@ffff0000 (intel,wakeup-mailbox): Unevaluated properties are not allowed ('reg' was unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/intel,wakeup-mailbox.yaml
Documentation/devicetree/bindings/reserved-memory/google,open-dice.example.dtb: dice@12340000 (google,open-dice): {'compatible': ['google,open-dice'], 'reg': [[0, 305397760, 8192]], 'no-map': True, '$nodename': ['dice@12340000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/google,open-dice.yaml
Documentation/devicetree/bindings/reserved-memory/google,open-dice.example.dtb: dice@12340000 (google,open-dice): Unevaluated properties are not allowed ('no-map' was unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/google,open-dice.yaml
Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.example.dtb: rmtfs@86700000 (qcom,rmtfs-mem): {'compatible': ['qcom,rmtfs-mem'], 'reg': [[2255486976, 917504]], 'no-map': True, 'qcom,client-id': 1, '$nodename': ['rmtfs@86700000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/qcom,rmtfs-mem.yaml
Documentation/devicetree/bindings/reserved-memory/qcom,rmtfs-mem.example.dtb: rmtfs@86700000 (qcom,rmtfs-mem): Unevaluated properties are not allowed ('no-map', 'reg' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/qcom,rmtfs-mem.yaml
Documentation/devicetree/bindings/display/msm/gpu.example.dtb: gpu@8f200000 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[0, 2427453440, 0, 10485760]], 'no-map': True, 'phandle': 5, '$nodename': ['gpu@8f200000']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/display/msm/gpu.example.dtb: gpu@8f200000 (shared-dma-pool): Unevaluated properties are not allowed ('no-map', 'reg' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/display/imx/fsl,imx-lcdc.example.dtb: display0: fsl,pcr: b'\xf0\xc8\x80\x80' is not of type 'object', 'integer', 'array', 'boolean', 'null'
	from schema $id: http://devicetree.org/schemas/dt-core.yaml
Documentation/devicetree/bindings/firmware/intel,stratix10-svc.example.dtb: svcbuffer@0 (shared-dma-pool): {'compatible': ['shared-dma-pool'], 'reg': [[0, 0, 0, 16777216]], 'alignment': 4096, 'no-map': True, 'phandle': 1, '$nodename': ['svcbuffer@0']} is valid under each of {'if': {'required': ['iommu-addresses']}, 'then': {'required': ['reg']}}, {'required': ['reg']}
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml
Documentation/devicetree/bindings/firmware/intel,stratix10-svc.example.dtb: svcbuffer@0 (shared-dma-pool): Unevaluated properties are not allowed ('alignment', 'no-map', 'reg' were unexpected)
	from schema $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.kernel.org/project/devicetree/patch/20260922102258.138753-3-quchaosheng000406@163.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


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

* Re: [PATCH v8 2/3] dt-bindings: net: can: holt,hi311x: Convert to DT schema
  2026-09-22 12:46   ` Rob Herring (Arm)
@ 2026-09-23  1:38     ` Quchaosheng
  0 siblings, 0 replies; 7+ messages in thread
From: Quchaosheng @ 2026-09-23  1:38 UTC (permalink / raw)
  To: Rob Herring
  Cc: Marc Kleine-Budde, Vincent Mailhol, Krzysztof Kozlowski,
	Conor Dooley, linux-can, devicetree, quchaosheng000406

Rob,

My previous reply went out from the 163 webmail client and carried an HTML
part, so linux-can, devicetree and linux-kernel all rejected it. Resending
as plain text; same content.

Reproduced. The errors come from a dt-schema change in git, not from the
patch.

They are all in reserved-memory and the IPs that embed it:
shared-dma-pool (via ti,omap-remoteproc, ti,k3-m4f-rproc, msm gpu,
intel,stratix10-svc), nvidia,tegra210-emc-table and fsl,qman-fqd.
Nothing in net/can. None of the files this series touches are involved.

The cause is 840a01d ("schemas: iommu: Add iommu-ranges on a device
node", 2026-09-17) in dt-schema. It reworked the top-level constraint in
reserved-memory.yaml from

  oneOf:
    - oneOf: [required: [reg], required: [size]]
    - oneOf: [required: [iommu-addresses], required: [reg, iommu-addresses]]

to

  oneOf:
    - required: [reg]
    - required: [size]
    - if: {required: [iommu-addresses]}
      then: {required: [reg]}

A plain shared-dma-pool node with a reg now satisfies the first branch and
also the third one vacuously, so oneOf fails with "is valid under each
of". The "Unevaluated properties are not allowed" lines are the same
failure cascading. The error text matches this exactly:

  is valid under each of {'if': {'required': ['iommu-addresses']},
  'then': {'required': ['reg']}}, {'required': ['reg']}

That commit is not in a release yet. Confirmed on the same tree with no
patches applied:

  dt-schema 2026.6 (PyPI)  -> clean
  dt-schema 2026.9 (tag)   -> clean
  dt-schema git 840a01d    -> reproduces the errors above

Nothing to fix in the series. v8 stands: only 2/3 differs from v7, and it
puts back the spi-peripheral-props.yaml reference sashiko flagged.

Quchaosheng


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

* Re: [PATCH v8 3/3] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema
  2026-09-22 10:22 ` [PATCH v8 3/3] dt-bindings: net: can: fsl,mpc5xxx-mscan: " Quchaosheng
@ 2026-09-23 14:30   ` Rob Herring
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2026-09-23 14:30 UTC (permalink / raw)
  To: Quchaosheng
  Cc: Marc Kleine-Budde, Vincent Mailhol, Krzysztof Kozlowski,
	Conor Dooley, linux-can, devicetree, linux-kernel

On Tue, Sep 22, 2026 at 06:22:58PM +0800, Quchaosheng wrote:
> Convert the Freescale MPC5xxx MSCAN binding from free-form text to DT
> schema.
> 
> The original text documents fsl,mpc5200-mscan and fsl,mpc5121-mscan in two
> separate sections. Keep that split: fsl,mscan-clock-source takes "ip" or
> "ref" on fsl,mpc5200-mscan, and "ip", "ref" or "sys" on fsl,mpc5121-mscan.
> 
> Add fsl,mpc5200b-mscan as a fallback of fsl,mpc5200-mscan. mpc5200b.dtsi
> uses it.
> 
> Document clocks and clock-names, which the original text does not describe.
> fsl,mpc5121-mscan requires the "ipg", "ips", "sys", "ref" and "mclk"
> clocks in that order, as mpc5121.dtsi supplies them. MPC5200 does not use
> DT clocks; it takes its frequency from the CDM block.
> 
> fsl,mscan-clock-divider divides the selected clock, so value 0 cannot be
> used.
> 
> Keep the note that the MPC5121 Rev. 1 processor is not supported.
> 
> Assisted-by: LLM
> Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
> ---
> 
> v8:
>  - No change.
>  .../bindings/net/can/fsl,mpc5xxx-mscan.yaml   | 109 ++++++++++++++++++
>  .../bindings/net/can/mpc5xxx-mscan.txt        |  53 ---------
>  2 files changed, 109 insertions(+), 53 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
>  delete mode 100644 Documentation/devicetree/bindings/net/can/mpc5xxx-mscan.txt

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

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

end of thread, other threads:[~2026-09-23 14:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-22 10:22 [PATCH v8 0/3] dt-bindings: net: can: convert three bindings to DT schema Quchaosheng
2026-09-22 10:22 ` [PATCH v8 1/3] dt-bindings: net: can: ifi,canfd-1.0: Convert " Quchaosheng
2026-09-22 10:22 ` [PATCH v8 2/3] dt-bindings: net: can: holt,hi311x: " Quchaosheng
2026-09-22 12:46   ` Rob Herring (Arm)
2026-09-23  1:38     ` Quchaosheng
2026-09-22 10:22 ` [PATCH v8 3/3] dt-bindings: net: can: fsl,mpc5xxx-mscan: " Quchaosheng
2026-09-23 14:30   ` Rob Herring

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