From: Carlos Song <carlos.song@nxp.com>
Add compatible string "nxp,imx94-i3c" and "nxp,imx95-i3c" for the i.MX94
chip and i.MX95 chip. Backward is compatible with "silvaco,i3c-master-v1".
Also i.MX94 and i.MX95 I3C only need two clocks and Legacy I3C needs
three clocks. So add restrictions for clock and clock-names properties
for different Socs.
Signed-off-by: Carlos Song <carlos.song@nxp.com>
---
.../bindings/i3c/silvaco,i3c-master.yaml | 45 ++++++++++++++++---
1 file changed, 39 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml b/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
index 4fbdcdac0aee..9255d35e2854 100644
--- a/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
+++ b/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml
@@ -9,14 +9,17 @@ title: Silvaco I3C master
maintainers:
- Conor Culhane <conor.culhane@silvaco.com>
-allOf:
- - $ref: i3c.yaml#
-
properties:
compatible:
- enum:
- - nuvoton,npcm845-i3c
- - silvaco,i3c-master-v1
+ oneOf:
+ - enum:
+ - nuvoton,npcm845-i3c
+ - silvaco,i3c-master-v1
+ - items:
+ - enum:
+ - nxp,imx94-i3c
+ - nxp,imx95-i3c
+ - const: silvaco,i3c-master-v1
reg:
maxItems: 1
@@ -25,12 +28,14 @@ properties:
maxItems: 1
clocks:
+ minItems: 2
items:
- description: system clock
- description: bus clock
- description: other (slower) events clock
clock-names:
+ minItems: 2
items:
- const: pclk
- const: fast_clk
@@ -46,6 +51,34 @@ required:
- clock-names
- clocks
+allOf:
+ - $ref: i3c.yaml#
+ # Legacy Socs need three clocks
+ - if:
+ properties:
+ compatible:
+ const: silvaco,i3c-master-v1
+ then:
+ properties:
+ clocks:
+ minItems: 3
+ clock-names:
+ minItems: 3
+ # imx94 and imx95 Soc need two clocks
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - nxp,imx94-i3c
+ - nxp,imx95-i3c
+ then:
+ properties:
+ clocks:
+ maxItems: 2
+ clock-names:
+ maxItems: 2
+
unevaluatedProperties: false
examples:
--
2.34.1
On Mon, 21 Apr 2025 14:15:42 +0800, carlos.song@nxp.com wrote: > From: Carlos Song <carlos.song@nxp.com> > > Add compatible string "nxp,imx94-i3c" and "nxp,imx95-i3c" for the i.MX94 > chip and i.MX95 chip. Backward is compatible with "silvaco,i3c-master-v1". > > Also i.MX94 and i.MX95 I3C only need two clocks and Legacy I3C needs > three clocks. So add restrictions for clock and clock-names properties > for different Socs. > > Signed-off-by: Carlos Song <carlos.song@nxp.com> > --- > .../bindings/i3c/silvaco,i3c-master.yaml | 45 ++++++++++++++++--- > 1 file changed, 39 insertions(+), 6 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: ./Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml:16:9: [warning] wrong indentation: expected 10 but found 8 (indentation) ./Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml:19:9: [warning] wrong indentation: expected 10 but found 8 (indentation) dtschema/dtc warnings/errors: doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250421061544.2471379-2-carlos.song@nxp.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.
On 21/04/2025 14:15:42+0800, carlos.song@nxp.com wrote: > From: Carlos Song <carlos.song@nxp.com> > > Add compatible string "nxp,imx94-i3c" and "nxp,imx95-i3c" for the i.MX94 > chip and i.MX95 chip. Backward is compatible with "silvaco,i3c-master-v1". > > Also i.MX94 and i.MX95 I3C only need two clocks and Legacy I3C needs > three clocks. So add restrictions for clock and clock-names properties > for different Socs. > My guess is that the IP still requires 3 clocks but the integration in the SoC feeds the same clock to two of them. I'm not sure this change is required. > Signed-off-by: Carlos Song <carlos.song@nxp.com> > --- > .../bindings/i3c/silvaco,i3c-master.yaml | 45 ++++++++++++++++--- > 1 file changed, 39 insertions(+), 6 deletions(-) > > diff --git a/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml b/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml > index 4fbdcdac0aee..9255d35e2854 100644 > --- a/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml > +++ b/Documentation/devicetree/bindings/i3c/silvaco,i3c-master.yaml > @@ -9,14 +9,17 @@ title: Silvaco I3C master > maintainers: > - Conor Culhane <conor.culhane@silvaco.com> > > -allOf: > - - $ref: i3c.yaml# > - > properties: > compatible: > - enum: > - - nuvoton,npcm845-i3c > - - silvaco,i3c-master-v1 > + oneOf: > + - enum: > + - nuvoton,npcm845-i3c > + - silvaco,i3c-master-v1 > + - items: > + - enum: > + - nxp,imx94-i3c > + - nxp,imx95-i3c > + - const: silvaco,i3c-master-v1 > > reg: > maxItems: 1 > @@ -25,12 +28,14 @@ properties: > maxItems: 1 > > clocks: > + minItems: 2 > items: > - description: system clock > - description: bus clock > - description: other (slower) events clock > > clock-names: > + minItems: 2 > items: > - const: pclk > - const: fast_clk > @@ -46,6 +51,34 @@ required: > - clock-names > - clocks > > +allOf: > + - $ref: i3c.yaml# > + # Legacy Socs need three clocks > + - if: > + properties: > + compatible: > + const: silvaco,i3c-master-v1 > + then: > + properties: > + clocks: > + minItems: 3 > + clock-names: > + minItems: 3 > + # imx94 and imx95 Soc need two clocks > + - if: > + properties: > + compatible: > + contains: > + enum: > + - nxp,imx94-i3c > + - nxp,imx95-i3c > + then: > + properties: > + clocks: > + maxItems: 2 > + clock-names: > + maxItems: 2 > + > unevaluatedProperties: false > > examples: > -- > 2.34.1 > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
© 2016 - 2025 Red Hat, Inc.