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>
---
Change for V2:
- Fix bot found errors running 'make dt_binding_check'
---
.../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..fd64741abc0c 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, Apr 21, 2025 at 07:15:11PM +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> > --- > Change for V2: > - Fix bot found errors running 'make dt_binding_check' Reviewed-by: Frank Li <Frank.Li@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..fd64741abc0c 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 >
© 2016 - 2026 Red Hat, Inc.