* [PATCH v3 2/2] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema
@ 2026-09-14 9:04 Quchaosheng
2026-09-14 9:15 ` sashiko-bot
2026-09-16 1:58 ` [PATCH v6] " Quchaosheng
0 siblings, 2 replies; 4+ messages in thread
From: Quchaosheng @ 2026-09-14 9:04 UTC (permalink / raw)
To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-can, devicetree, quchaosheng000406
Convert the Freescale MPC5xxx MSCAN binding from free-form text to DT
schema.
Describe fsl,mpc5200-mscan and fsl,mpc5121-mscan in separate sections, as
the original text does. fsl,mpc5200-mscan accepts "ip" and "ref" for
fsl,mscan-clock-source, fsl,mpc5121-mscan also accepts "sys". Enforce both
with an if/then block on the compatible string.
Add "fsl,mpc5200b-mscan" as a fallback of "fsl,mpc5200-mscan", as
mpc5200b.dtsi uses it.
Document clocks and clock-names. The MPC5121 driver looks up the "ipg",
"ips", "sys", "ref" and "mclk" clocks by name, and mpc5121.dtsi provides
all five. The original text did not describe them.
Keep the note about MPC5121 Rev. 1.
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---
v2:
- Add "fsl,mpc5200b-mscan" as a fallback compatible.
- Document clocks and clock-names.
v3:
- Split fsl,mscan-clock-source by compatible string, following the
separate sections in the original text. "sys" applies to
fsl,mpc5121-mscan only.
- Rewrite the commit message in imperative mood.
---
---
.../bindings/net/can/fsl,mpc5xxx-mscan.yaml | 114 ++++++++++++++++++
.../bindings/net/can/mpc5xxx-mscan.txt | 53 --------
2 files changed, 114 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 000000000..277e78ca2
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
@@ -0,0 +1,114 @@
+# 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. On MPC5121 the driver looks up the
+ "ipg", "ips", "sys", "ref" and "mclk" clocks by name.
+ 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.
+ enum: [ip, ref, sys]
+
+ fsl,mscan-clock-divider:
+ description: Additional clock divider for the reference and system clocks.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ 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:
+ description:
+ Clock source used for the controller. "ref" is the default when
+ the property is not present.
+ enum: [ip, ref]
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: fsl,mpc5121-mscan
+ then:
+ properties:
+ fsl,mscan-clock-source:
+ description:
+ Clock source used for the controller. When the property is not
+ present, an optimal clock source and frequency based on the
+ system clock is selected. If this is not possible, the reference
+ clock is used.
+ enum: [ip, ref, sys]
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #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>;
+ };
+
+ can@1380 {
+ compatible = "fsl,mpc5121-mscan";
+ reg = <0x1380 0x80>;
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-parent = <&ipic>;
+ 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 2fa4fcd38..000000000
--- 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] 4+ messages in thread* Re: [PATCH v3 2/2] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema
2026-09-14 9:04 [PATCH v3 2/2] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema Quchaosheng
@ 2026-09-14 9:15 ` sashiko-bot
2026-09-16 1:58 ` [PATCH v6] " Quchaosheng
1 sibling, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-09-14 9:15 UTC (permalink / raw)
To: Quchaosheng
Cc: Vincent Mailhol, conor+dt, Oliver Hartkopp, Oleksij Rempel,
devicetree, linux-can, Marc Kleine-Budde, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Missing `$ref` type definition for vendor property `fsl,mscan-clock-source`.
--
commit 0f4e0331aedb88733ad8480e58d0cb6aed274e62
Author: Quchaosheng <quchaosheng000406@163.com>
dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema
This commit converts the Freescale MPC5xxx MSCAN binding from free-form
text to DT schema format. It describes multiple controller variants, sets
up clock definitions, and introduces conditional properties for different
compatible strings.
> 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 0000000000000..277e78ca21f11
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
[ ... ]
> + clock-names:
> + items:
> + - const: ipg
> + - const: ips
> + - const: sys
> + - const: ref
> + - const: mclk
> +
> + fsl,mscan-clock-source:
> + description:
> + Clock source used for the controller.
> + enum: [ip, ref, sys]
[Severity: Low]
Does this custom property need an explicit type definition?
Vendor-specific custom properties without a standard type suffix typically
require an explicit type reference to pass dt-schema validation when running
make dt_binding_check.
Even though the allowed values are defined via an enum, a base type reference
such as `$ref: /schemas/types.yaml#/definitions/string` is usually required
to prevent build-time tooling failures.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914090440.552884-1-quchaosheng000406@163.com?part=2
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v6] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema
2026-09-14 9:04 [PATCH v3 2/2] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema Quchaosheng
2026-09-14 9:15 ` sashiko-bot
@ 2026-09-16 1:58 ` Quchaosheng
2026-09-21 17:47 ` Rob Herring
1 sibling, 1 reply; 4+ messages in thread
From: Quchaosheng @ 2026-09-16 1:58 UTC (permalink / raw)
To: Marc Kleine-Budde, Vincent Mailhol, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-can, devicetree, quchaosheng000406
Convert the Freescale MPC5xxx MSCAN binding from free-form text to DT
schema.
Describe fsl,mpc5200-mscan and fsl,mpc5121-mscan in separate sections, as
the original text does. fsl,mpc5200-mscan accepts "ip" and "ref" for
fsl,mscan-clock-source, fsl,mpc5121-mscan also accepts "sys". Enforce both
with an if/then block on the compatible string.
Add "fsl,mpc5200b-mscan" as a fallback of "fsl,mpc5200-mscan", as
mpc5200b.dtsi uses it.
Document clocks and clock-names. The MPC5121 driver looks up the "ipg",
"ips", "sys", "ref" and "mclk" clocks by name, and mpc5121.dtsi provides
all five. The original text did not describe them. MPC5200 obtains its
frequency from the CDM block and does not use DT clocks at all.
clock-names accepts the names in any order and allows a subset: the driver
looks each one up by name (devm_clk_get()) and only needs the clocks
actually selected, so a node providing just the clocks in use is valid.
Keep the note about MPC5121 Rev. 1.
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---
v2:
- Add "fsl,mpc5200b-mscan" as a fallback compatible.
- Document clocks and clock-names.
v3:
- Split fsl,mscan-clock-source by compatible string, following the
separate sections in the original text. "sys" applies to
fsl,mpc5121-mscan only.
- Rewrite the commit message in imperative mood.
v6:
- No content change. Fix the patch format: the changelog was placed in the
commit message instead of after the '---' separator, which confused
Patchwork. Move it back where it belongs.
- clock-names: accept the names in any order and allow a subset, as the
driver looks them up by name and only needs the clocks actually
selected (devm_clk_get()). The previous strict ordered 5-item list
rejected valid nodes that provide only the clocks in use.
- clocks: add minItems: 1 and note that MPC5200 does not use DT clocks
at all; it obtains its frequency from the CDM block.
.../bindings/net/can/fsl,mpc5xxx-mscan.yaml | 118 ++++++++++++++++++
.../bindings/net/can/mpc5xxx-mscan.txt | 53 --------
2 files changed, 118 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 000000000..7f01008f1
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
@@ -0,0 +1,118 @@
+# 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. Only meaningful on MPC5121, where the
+ driver looks the clocks up by name ("ipg" for register access, plus
+ the clocks selected through fsl,mscan-clock-source). MPC5200 obtains
+ its frequency from the CDM block and does not use DT clocks.
+ minItems: 1
+ maxItems: 5
+
+ clock-names:
+ description:
+ The driver looks clocks up by name, so the order is not significant,
+ but each name may be given at most once.
+ minItems: 1
+ maxItems: 5
+ items:
+ enum: [ipg, ips, sys, ref, mclk]
+
+ fsl,mscan-clock-source:
+ description:
+ Clock source used for the controller.
+ enum: [ip, ref, sys]
+
+ fsl,mscan-clock-divider:
+ description: Additional clock divider for the reference and system clocks.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ 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:
+ description:
+ Clock source used for the controller. "ref" is the default when
+ the property is not present.
+ enum: [ip, ref]
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: fsl,mpc5121-mscan
+ then:
+ properties:
+ fsl,mscan-clock-source:
+ description:
+ Clock source used for the controller. When the property is not
+ present, an optimal clock source and frequency based on the
+ system clock is selected. If this is not possible, the reference
+ clock is used.
+ enum: [ip, ref, sys]
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #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>;
+ };
+
+ can@1380 {
+ compatible = "fsl,mpc5121-mscan";
+ reg = <0x1380 0x80>;
+ interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-parent = <&ipic>;
+ 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 2fa4fcd38..000000000
--- 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] 4+ messages in thread* Re: [PATCH v6] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema
2026-09-16 1:58 ` [PATCH v6] " Quchaosheng
@ 2026-09-21 17:47 ` Rob Herring
0 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2026-09-21 17:47 UTC (permalink / raw)
To: Quchaosheng
Cc: Marc Kleine-Budde, Vincent Mailhol, Krzysztof Kozlowski,
Conor Dooley, linux-can, devicetree
On Wed, Sep 16, 2026 at 09:58:03AM +0800, Quchaosheng wrote:
> Convert the Freescale MPC5xxx MSCAN binding from free-form text to DT
> schema.
>
> Describe fsl,mpc5200-mscan and fsl,mpc5121-mscan in separate sections, as
> the original text does. fsl,mpc5200-mscan accepts "ip" and "ref" for
> fsl,mscan-clock-source, fsl,mpc5121-mscan also accepts "sys". Enforce both
> with an if/then block on the compatible string.
>
> Add "fsl,mpc5200b-mscan" as a fallback of "fsl,mpc5200-mscan", as
> mpc5200b.dtsi uses it.
>
> Document clocks and clock-names. The MPC5121 driver looks up the "ipg",
> "ips", "sys", "ref" and "mclk" clocks by name, and mpc5121.dtsi provides
> all five. The original text did not describe them. MPC5200 obtains its
> frequency from the CDM block and does not use DT clocks at all.
>
> clock-names accepts the names in any order and allows a subset: the driver
> looks each one up by name (devm_clk_get()) and only needs the clocks
> actually selected, so a node providing just the clocks in use is valid.
>
> Keep the note about MPC5121 Rev. 1.
>
> Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
> ---
> v2:
> - Add "fsl,mpc5200b-mscan" as a fallback compatible.
> - Document clocks and clock-names.
>
> v3:
> - Split fsl,mscan-clock-source by compatible string, following the
> separate sections in the original text. "sys" applies to
> fsl,mpc5121-mscan only.
> - Rewrite the commit message in imperative mood.
>
> v6:
> - No content change. Fix the patch format: the changelog was placed in the
> commit message instead of after the '---' separator, which confused
> Patchwork. Move it back where it belongs.
>
> - clock-names: accept the names in any order and allow a subset, as the
> driver looks them up by name and only needs the clocks actually
> selected (devm_clk_get()). The previous strict ordered 5-item list
> rejected valid nodes that provide only the clocks in use.
>
> - clocks: add minItems: 1 and note that MPC5200 does not use DT clocks
> at all; it obtains its frequency from the CDM block.
> .../bindings/net/can/fsl,mpc5xxx-mscan.yaml | 118 ++++++++++++++++++
> .../bindings/net/can/mpc5xxx-mscan.txt | 53 --------
> 2 files changed, 118 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 000000000..7f01008f1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/can/fsl,mpc5xxx-mscan.yaml
> @@ -0,0 +1,118 @@
> +# 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. Only meaningful on MPC5121, where the
> + driver looks the clocks up by name ("ipg" for register access, plus
> + the clocks selected through fsl,mscan-clock-source). MPC5200 obtains
> + its frequency from the CDM block and does not use DT clocks.
> + minItems: 1
> + maxItems: 5
> +
> + clock-names:
> + description:
> + The driver looks clocks up by name, so the order is not significant,
> + but each name may be given at most once.
There's only one defined order, so please define the order. We only
don't define the order if the schema and/or users are too much of a mess
to do so.
> + minItems: 1
> + maxItems: 5
> + items:
> + enum: [ipg, ips, sys, ref, mclk]
> +
> + fsl,mscan-clock-source:
> + description:
> + Clock source used for the controller.
> + enum: [ip, ref, sys]
> +
> + fsl,mscan-clock-divider:
> + description: Additional clock divider for the reference and system clocks.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + 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:
> + description:
> + Clock source used for the controller. "ref" is the default when
> + the property is not present.
> + enum: [ip, ref]
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: fsl,mpc5121-mscan
> + then:
> + properties:
> + fsl,mscan-clock-source:
> + description:
> + Clock source used for the controller. When the property is not
> + present, an optimal clock source and frequency based on the
> + system clock is selected. If this is not possible, the reference
> + clock is used.
> + enum: [ip, ref, sys]
You can drop this if/then. It has no effect.
Though looks like this should define 'minItems: 5' for
clocks/clock-names?
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #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>;
> + };
> +
> + can@1380 {
> + compatible = "fsl,mpc5121-mscan";
> + reg = <0x1380 0x80>;
> + interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
> + interrupt-parent = <&ipic>;
> + fsl,mscan-clock-source = "ref";
> + fsl,mscan-clock-divider = <3>;
> + };
One example is enough.
Rob
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-09-21 17:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14 9:04 [PATCH v3 2/2] dt-bindings: net: can: fsl,mpc5xxx-mscan: Convert to DT schema Quchaosheng
2026-09-14 9:15 ` sashiko-bot
2026-09-16 1:58 ` [PATCH v6] " Quchaosheng
2026-09-21 17:47 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox