diff mbox series

[1/6] dt-bindings: usb: chipidea: add compatible for i.MX95 platform

Message ID 20250219093104.2589449-2-xu.yang_2@nxp.com (mailing list archive)
State New
Headers show
Series add USB2.0 support for i.MX95-19x19 EVK board | expand

Commit Message

Xu Yang Feb. 19, 2025, 9:30 a.m. UTC
The i.MX95 USB2.0 controller is basically compatible with i.MX7d, except
it needs a second interrupt for wakeup handling. This will add compatible
for i.MX95 platform and restriciton on interrupt property. Besides, this
will also add iommus property.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
---
 .../bindings/usb/chipidea,usb2-common.yaml    |  3 +++
 .../bindings/usb/chipidea,usb2-imx.yaml       | 26 ++++++++++++++++++-
 2 files changed, 28 insertions(+), 1 deletion(-)

Comments

Frank Li Feb. 19, 2025, 5:58 p.m. UTC | #1
On Wed, Feb 19, 2025 at 05:30:59PM +0800, Xu Yang wrote:
> The i.MX95 USB2.0 controller is basically compatible with i.MX7d, except
> it needs a second interrupt for wakeup handling. This will add compatible
> for i.MX95 platform and restriciton on interrupt property. Besides, this
                          ^ typo,

run check-patch --code-spell

> will also add iommus property.

dt-bindings: usb: Add i.MX95 compatible string 'fsl,imx95-usb'

The i.MX95 USB2.0 controller is mostly compatible with i.MX7D, except it
requires a second interrupt for wakeup handling. Add the compatible string
for the i.MX95 platform, add the iommus property, and enforce the
interrupt property restriction. Keep the same restriction for existing
compatible strings.

Fix below nit.

Reviewed-by: Frank Li <Frank.Li@nxp.com>

Frank


>
> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> ---
>  .../bindings/usb/chipidea,usb2-common.yaml    |  3 +++
>  .../bindings/usb/chipidea,usb2-imx.yaml       | 26 ++++++++++++++++++-
>  2 files changed, 28 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml b/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml
> index d2a7d2ecf48a..10020af15afc 100644
> --- a/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml
> +++ b/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml
> @@ -42,6 +42,9 @@ properties:
>
>    phy_type: true
>
> +  iommus:
> +    maxItems: 1
> +
>    itc-setting:
>      description:
>        interrupt threshold control register control, the setting should be
> diff --git a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml
> index 8f6136f5d72e..3678804a3743 100644
> --- a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml
> +++ b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml
> @@ -41,6 +41,7 @@ properties:
>                - fsl,imx8mm-usb
>                - fsl,imx8mn-usb
>                - fsl,imx93-usb
> +              - fsl,imx95-usb
>            - const: fsl,imx7d-usb
>            - const: fsl,imx27-usb
>        - items:
> @@ -54,7 +55,13 @@ properties:
>      maxItems: 1
>
>    interrupts:
> -    maxItems: 1
> +    minItems: 1
> +    items:
> +      - description: USB controller interrupt
> +      - description: Wakeup interrupt
> +    description:
> +      One interrupt for USB controller and wakeup interrupt combined
> +      case or two interrupts for individual USB controller and wakeup

Needn't descrition here. Items: descrption already provide enough
informaiton.  Or you can change first

description: USB controller interrupt Or combine USB controller and wakeup
interrupts.


>
>    clocks:
>      minItems: 1
> @@ -191,6 +198,7 @@ allOf:
>            contains:
>              enum:
>                - fsl,imx93-usb
> +              - fsl,imx95-usb
>      then:
>        properties:
>          clocks:
> @@ -238,6 +246,22 @@ allOf:
>            maxItems: 1
>          clock-names: false
>
> +  # imx95 soc use two interrupts
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - fsl,imx95-usb
> +    then:
> +      properties:
> +        interrupts:
> +          minItems: 2
> +    else:
> +      properties:
> +        interrupts:
> +          maxItems: 1
> +
>  unevaluatedProperties: false
>
>  examples:
> --
> 2.34.1
>
Xu Yang Feb. 20, 2025, 10:22 a.m. UTC | #2
On Wed, Feb 19, 2025 at 12:58:10PM -0500, Frank Li wrote:
> On Wed, Feb 19, 2025 at 05:30:59PM +0800, Xu Yang wrote:
> > The i.MX95 USB2.0 controller is basically compatible with i.MX7d, except
> > it needs a second interrupt for wakeup handling. This will add compatible
> > for i.MX95 platform and restriciton on interrupt property. Besides, this
>                           ^ typo,
> 
> run check-patch --code-spell
> 
> > will also add iommus property.
> 
> dt-bindings: usb: Add i.MX95 compatible string 'fsl,imx95-usb'
> 
> The i.MX95 USB2.0 controller is mostly compatible with i.MX7D, except it
> requires a second interrupt for wakeup handling. Add the compatible string
> for the i.MX95 platform, add the iommus property, and enforce the
> interrupt property restriction. Keep the same restriction for existing
> compatible strings.

Okay.

> 
> Fix below nit.
> 
> Reviewed-by: Frank Li <Frank.Li@nxp.com>
> 
> Frank
> 
> 
> >

[...]

> > +    description:
> > +      One interrupt for USB controller and wakeup interrupt combined
> > +      case or two interrupts for individual USB controller and wakeup
> 
> Needn't descrition here. Items: descrption already provide enough
> informaiton.  Or you can change first
> 
> description: USB controller interrupt Or combine USB controller and wakeup
> interrupts.

Okay. will do.

Thanks,
Xu Yang
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml b/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml
index d2a7d2ecf48a..10020af15afc 100644
--- a/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml
+++ b/Documentation/devicetree/bindings/usb/chipidea,usb2-common.yaml
@@ -42,6 +42,9 @@  properties:
 
   phy_type: true
 
+  iommus:
+    maxItems: 1
+
   itc-setting:
     description:
       interrupt threshold control register control, the setting should be
diff --git a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml
index 8f6136f5d72e..3678804a3743 100644
--- a/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml
+++ b/Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml
@@ -41,6 +41,7 @@  properties:
               - fsl,imx8mm-usb
               - fsl,imx8mn-usb
               - fsl,imx93-usb
+              - fsl,imx95-usb
           - const: fsl,imx7d-usb
           - const: fsl,imx27-usb
       - items:
@@ -54,7 +55,13 @@  properties:
     maxItems: 1
 
   interrupts:
-    maxItems: 1
+    minItems: 1
+    items:
+      - description: USB controller interrupt
+      - description: Wakeup interrupt
+    description:
+      One interrupt for USB controller and wakeup interrupt combined
+      case or two interrupts for individual USB controller and wakeup
 
   clocks:
     minItems: 1
@@ -191,6 +198,7 @@  allOf:
           contains:
             enum:
               - fsl,imx93-usb
+              - fsl,imx95-usb
     then:
       properties:
         clocks:
@@ -238,6 +246,22 @@  allOf:
           maxItems: 1
         clock-names: false
 
+  # imx95 soc use two interrupts
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - fsl,imx95-usb
+    then:
+      properties:
+        interrupts:
+          minItems: 2
+    else:
+      properties:
+        interrupts:
+          maxItems: 1
+
 unevaluatedProperties: false
 
 examples: