* [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; 6+ 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] 6+ 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; 6+ 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 [flat|nested] 6+ 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; 6+ 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 [flat|nested] 6+ 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) 0 siblings, 0 replies; 6+ 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] 6+ 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; 6+ 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 [flat|nested] 6+ 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; 6+ 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] 6+ messages in thread
end of thread, other threads:[~2026-09-23 14:30 UTC | newest] Thread overview: 6+ 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-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
all inboxes | Powered by JetHome®