diff mbox series

[V2,2/6] dt-bindings: soc: imx: add i.MX8MP vpu blk ctrl

Message ID 20220713063653.2584488-3-peng.fan@oss.nxp.com
State Changes Requested, archived
Headers show
Series imx: add i.MX8MP hdmi blk ctrl hdcp/hrv and vpu blk ctrl | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Peng Fan (OSS) July 13, 2022, 6:36 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

i.MX8MP VPU blk ctrl module has similar design as i.MX8MM, so reuse
the i.MX8MM VPU blk ctrl yaml file. And add description for the items.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 .../soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml      | 93 ++++++++++++++++---
 include/dt-bindings/power/imx8mp-power.h      |  4 +
 2 files changed, 86 insertions(+), 11 deletions(-)

Comments

Krzysztof Kozlowski July 13, 2022, 8:29 a.m. UTC | #1
On 13/07/2022 08:36, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> i.MX8MP VPU blk ctrl module has similar design as i.MX8MM, so reuse
> the i.MX8MM VPU blk ctrl yaml file. And add description for the items.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  .../soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml      | 93 ++++++++++++++++---
>  include/dt-bindings/power/imx8mp-power.h      |  4 +
>  2 files changed, 86 insertions(+), 11 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
> index 26487daa64d9..d05930f61f95 100644
> --- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
> +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
> @@ -28,24 +28,15 @@ properties:
>  
>    power-domains:
>      minItems: 4
> -    maxItems: 4

This is not correct. maxItems must stay, but you could drop minItems,
prefferrably in separate patch.

>  
>    power-domain-names:
> -    items:
> -      - const: bus
> -      - const: g1
> -      - const: g2
> -      - const: h1
> +    minItems: 4

maxItems instead

>  
>    clocks:
>      minItems: 3
> -    maxItems: 3

Same error...

Best regards,
Krzysztof
Peng Fan July 13, 2022, 9:03 a.m. UTC | #2
Hi Krzysztof,

> Subject: Re: [PATCH V2 2/6] dt-bindings: soc: imx: add i.MX8MP vpu blk ctrl
> 
> On 13/07/2022 08:36, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@nxp.com>
> >
> > i.MX8MP VPU blk ctrl module has similar design as i.MX8MM, so reuse
> > the i.MX8MM VPU blk ctrl yaml file. And add description for the items.
> >
> > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > ---
> >  .../soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml      | 93 ++++++++++++++++---
> >  include/dt-bindings/power/imx8mp-power.h      |  4 +
> >  2 files changed, 86 insertions(+), 11 deletions(-)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
> ctrl.ya
> > ml
> > b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
> ctrl.ya
> > ml index 26487daa64d9..d05930f61f95 100644
> > ---
> > a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
> ctrl.ya
> > ml
> > +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
> ctr
> > +++ l.yaml
> > @@ -28,24 +28,15 @@ properties:
> >
> >    power-domains:
> >      minItems: 4
> > -    maxItems: 4
> 
> This is not correct. maxItems must stay, but you could drop minItems,
> prefferrably in separate patch.
[Peng Fan] 

Ok, I will only keep maxItems. For separate patch, you mean
separate adding description for i.MX8MM to one patch, right?

> 
> >
> >    power-domain-names:
> > -    items:
> > -      - const: bus
> > -      - const: g1
> > -      - const: g2
> > -      - const: h1
> > +    minItems: 4
> 
> maxItems instead

Got it. Will only keep maxItems

> 
> >
> >    clocks:
> >      minItems: 3
> > -    maxItems: 3
> 
> Same error...
Got it. Will only keep maxItems

Thanks,
Peng.
> 
> Best regards,
> Krzysztof
Krzysztof Kozlowski July 13, 2022, 9:11 a.m. UTC | #3
On 13/07/2022 11:03, Peng Fan wrote:
> Hi Krzysztof,
> 
>> Subject: Re: [PATCH V2 2/6] dt-bindings: soc: imx: add i.MX8MP vpu blk ctrl
>>
>> On 13/07/2022 08:36, Peng Fan (OSS) wrote:
>>> From: Peng Fan <peng.fan@nxp.com>
>>>
>>> i.MX8MP VPU blk ctrl module has similar design as i.MX8MM, so reuse
>>> the i.MX8MM VPU blk ctrl yaml file. And add description for the items.
>>>
>>> Signed-off-by: Peng Fan <peng.fan@nxp.com>
>>> ---
>>>  .../soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml      | 93 ++++++++++++++++---
>>>  include/dt-bindings/power/imx8mp-power.h      |  4 +
>>>  2 files changed, 86 insertions(+), 11 deletions(-)
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
>> ctrl.ya
>>> ml
>>> b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
>> ctrl.ya
>>> ml index 26487daa64d9..d05930f61f95 100644
>>> ---
>>> a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
>> ctrl.ya
>>> ml
>>> +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
>> ctr
>>> +++ l.yaml
>>> @@ -28,24 +28,15 @@ properties:
>>>
>>>    power-domains:
>>>      minItems: 4
>>> -    maxItems: 4
>>
>> This is not correct. maxItems must stay, but you could drop minItems,
>> prefferrably in separate patch.
> [Peng Fan] 
> 
> Ok, I will only keep maxItems. For separate patch, you mean
> separate adding description for i.MX8MM to one patch, right?

I mean, a new patch doing cleanup. You currently have minItems and
maxItems set as the same value. In such case minItems is not necessary.
You could remove all of minItems (when equal to maxItems) before adding
new device support.


Best regards,
Krzysztof
Peng Fan July 13, 2022, 9:15 a.m. UTC | #4
> Subject: Re: [PATCH V2 2/6] dt-bindings: soc: imx: add i.MX8MP vpu blk ctrl
> 
> On 13/07/2022 11:03, Peng Fan wrote:
> > Hi Krzysztof,
> >
> >> Subject: Re: [PATCH V2 2/6] dt-bindings: soc: imx: add i.MX8MP vpu
> >> blk ctrl
> >>
> >> On 13/07/2022 08:36, Peng Fan (OSS) wrote:
> >>> From: Peng Fan <peng.fan@nxp.com>
> >>>
> >>> i.MX8MP VPU blk ctrl module has similar design as i.MX8MM, so reuse
> >>> the i.MX8MM VPU blk ctrl yaml file. And add description for the items.
> >>>
> >>> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> >>> ---
> >>>  .../soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml      | 93 ++++++++++++++++---
> >>>  include/dt-bindings/power/imx8mp-power.h      |  4 +
> >>>  2 files changed, 86 insertions(+), 11 deletions(-)
> >>>
> >>> diff --git
> >>> a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
> >> ctrl.ya
> >>> ml
> >>> b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
> >> ctrl.ya
> >>> ml index 26487daa64d9..d05930f61f95 100644
> >>> ---
> >>> a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-
> >> ctrl.ya
> >>> ml
> >>> +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-
> blk-
> >> ctr
> >>> +++ l.yaml
> >>> @@ -28,24 +28,15 @@ properties:
> >>>
> >>>    power-domains:
> >>>      minItems: 4
> >>> -    maxItems: 4
> >>
> >> This is not correct. maxItems must stay, but you could drop minItems,
> >> prefferrably in separate patch.
> > [Peng Fan]
> >
> > Ok, I will only keep maxItems. For separate patch, you mean separate
> > adding description for i.MX8MM to one patch, right?
> 
> I mean, a new patch doing cleanup. You currently have minItems and
> maxItems set as the same value. In such case minItems is not necessary.
> You could remove all of minItems (when equal to maxItems) before adding
> new device support.

Thanks, got it. I will wait for a few days to collect comments on other
parts before V3.

Thanks,
Peng.
> 
> 
> Best regards,
> Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
index 26487daa64d9..d05930f61f95 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml
@@ -28,24 +28,15 @@  properties:
 
   power-domains:
     minItems: 4
-    maxItems: 4
 
   power-domain-names:
-    items:
-      - const: bus
-      - const: g1
-      - const: g2
-      - const: h1
+    minItems: 4
 
   clocks:
     minItems: 3
-    maxItems: 3
 
   clock-names:
-    items:
-      - const: g1
-      - const: g2
-      - const: h1
+    minItems: 3
 
 required:
   - compatible
@@ -55,6 +46,86 @@  required:
   - clocks
   - clock-names
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,imx8mm-vpu-blk-ctrl
+    then:
+      properties:
+        power-domains:
+          items:
+            - description: bus power domain
+            - description: G1 decoder power domain
+            - description: G2 decoder power domain
+            - description: H1 encoder power domain
+
+        power-domain-names:
+          items:
+            - const: bus
+            - const: g1
+            - const: g2
+            - const: h1
+
+        clocks:
+          items:
+            - description: G1 decoder clk
+            - description: G2 decoder clk
+            - description: H1 encoder clk
+
+        clock-names:
+          items:
+            - const: g1
+            - const: g2
+            - const: h1
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,imx8mp-vpu-blk-ctrl
+    then:
+      properties:
+        power-domains:
+          items:
+            - description: bus power domain
+            - description: G1 decoder power domain
+            - description: G2 decoder power domain
+            - description: VC8000E encoder power domain
+
+        power-domain-names:
+          items:
+            - const: bus
+            - const: g1
+            - const: g2
+            - const: vc8000e
+
+        clocks:
+          items:
+            - description: G1 decoder clk
+            - description: G2 decoder clk
+            - description: VC8000E encoder clk
+
+        clock-names:
+          items:
+            - const: g1
+            - const: g2
+            - const: vc8000e
+
+        interconnects:
+          items:
+            - description: G1 decoder interconnect
+            - description: G2 decoder interconnect
+            - description: VC8000E encoder interconnect
+
+        interconnect-names:
+          items:
+            - const: g1
+            - const: g2
+            - const: vc8000e
+
+
 additionalProperties: false
 
 examples:
diff --git a/include/dt-bindings/power/imx8mp-power.h b/include/dt-bindings/power/imx8mp-power.h
index 14b9c5ac9c82..2fe3c2abad13 100644
--- a/include/dt-bindings/power/imx8mp-power.h
+++ b/include/dt-bindings/power/imx8mp-power.h
@@ -52,4 +52,8 @@ 
 #define IMX8MP_HDMIBLK_PD_HDCP				7
 #define IMX8MP_HDMIBLK_PD_HRV				8
 
+#define IMX8MP_VPUBLK_PD_G1				0
+#define IMX8MP_VPUBLK_PD_G2				1
+#define IMX8MP_VPUBLK_PD_VC8000E			2
+
 #endif