* [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 = <®5v0>; + xceiver-supply = <®5v0>; + }; + }; +... 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 = <®5v0>; - xceiver-supply = <®5v0>; - }; -- 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
* [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 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