Commit 489c773a authored by Carlos Song's avatar Carlos Song Committed by Alexandre Belloni
Browse files

dt-bindings: i3c: silvaco,i3c-master: add i.MX94 and i.MX95 I3C



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: default avatarCarlos Song <carlos.song@nxp.com>
Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250427083230.3325700-2-carlos.song@nxp.com


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 12cbd157
Loading
Loading
Loading
Loading
+39 −6
Original line number Diff line number Diff line
@@ -9,14 +9,17 @@ title: Silvaco I3C master
maintainers:
  - Conor Culhane <conor.culhane@silvaco.com>

allOf:
  - $ref: i3c.yaml#

properties:
  compatible:
    enum:
    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#
  - if:
      properties:
        compatible:
          enum:
            - nuvoton,npcm845-i3c
            - silvaco,i3c-master-v1
    then:
      properties:
        clocks:
          minItems: 3
        clock-names:
          minItems: 3
  - if:
      properties:
        compatible:
          contains:
            enum:
              - nxp,imx94-i3c
              - nxp,imx95-i3c
    then:
      properties:
        clocks:
          maxItems: 2
        clock-names:
          maxItems: 2

unevaluatedProperties: false

examples: