Re: [PATCH 1/3] dt-bindings: i3c: silvaco,i3c-master: add i.MX94 and i.MX95 I3C

Alexandre Belloni
2025-04-21T07:24:34Z

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