Re: [PATCH v1 18/18] arm64: dts: imx8mq: Add node to G2 hardware

2021-02-18 Thread Benjamin Gaignard



Le 17/02/2021 à 21:43, Ezequiel Garcia a écrit :

On Wed, 2021-02-17 at 09:03 +0100, Benjamin Gaignard wrote:

Split VPU node in two: one for G1 and one for G2 since they are
different hardware blocks.

Signed-off-by: Benjamin Gaignard 
---
  arch/arm64/boot/dts/freescale/imx8mq.dtsi | 43 +--
  1 file changed, 33 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi 
b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index d9d9efc8592d..3cab3f0b9131 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -1287,17 +1287,16 @@ vpu_reset: vpu-reset@3832 {
 #reset-cells = <1>;
 };
  
-   vpu: video-codec@3830 {

+   vpu_g1: video-codec@3830 {
 compatible = "nxp,imx8mq-vpu";
-   reg = <0x3830 0x1>,
- <0x3831 0x1>;
-   reg-names = "g1", "g2";
-   interrupts = ,
-    ;
-   interrupt-names = "g1", "g2";
+   reg = <0x3830 0x1>;
+   reg-names = "g1";
+   interrupts = ;
+   interrupt-names = "g1";
 clocks = < IMX8MQ_CLK_VPU_G1_ROOT>,
-    < IMX8MQ_CLK_VPU_G2_ROOT>;
-   clock-names = "g1", "g2";
+    < IMX8MQ_CLK_VPU_G2_ROOT>,
+    < IMX8MQ_CLK_VPU_DEC_ROOT>;
+   clock-names = "g1", "g2", "bus";

How come the G1 block needs the G2 clock?


It doesn't, I will remove it in v2




 assigned-clocks = < IMX8MQ_CLK_VPU_G1>,
   < IMX8MQ_CLK_VPU_G2>,
   < IMX8MQ_CLK_VPU_BUS>,
@@ -1306,12 +1305,36 @@ vpu: video-codec@3830 {
  < IMX8MQ_VPU_PLL_OUT>,
  < IMX8MQ_SYS1_PLL_800M>,
  < IMX8MQ_VPU_PLL>;
-   assigned-clock-rates = <6>, <6>,
+   assigned-clock-rates = <6>, <3>,
    <8>, <0>;
 resets = <_reset IMX8MQ_RESET_VPU_RESET_G1>;
 power-domains = <_vpu>;
 };
  
+   vpu_g2: video-codec@3831 {

+   compatible = "nxp,imx8mq-vpu-g2";
+   reg = <0x3831 0x1>;
+   reg-names = "g2";
+   interrupts = ;
+   interrupt-names = "g2";
+   clocks = < IMX8MQ_CLK_VPU_G1_ROOT>,
+    < IMX8MQ_CLK_VPU_G2_ROOT>,

Ditto, the G2 block needs the G1 clock?

Thanks,
Ezequiel




Re: [PATCH v1 18/18] arm64: dts: imx8mq: Add node to G2 hardware

2021-02-17 Thread Ezequiel Garcia
On Wed, 2021-02-17 at 09:03 +0100, Benjamin Gaignard wrote:
> Split VPU node in two: one for G1 and one for G2 since they are
> different hardware blocks.
> 
> Signed-off-by: Benjamin Gaignard 
> ---
>  arch/arm64/boot/dts/freescale/imx8mq.dtsi | 43 +--
>  1 file changed, 33 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi 
> b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index d9d9efc8592d..3cab3f0b9131 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -1287,17 +1287,16 @@ vpu_reset: vpu-reset@3832 {
> #reset-cells = <1>;
> };
>  
> -   vpu: video-codec@3830 {
> +   vpu_g1: video-codec@3830 {
> compatible = "nxp,imx8mq-vpu";
> -   reg = <0x3830 0x1>,
> - <0x3831 0x1>;
> -   reg-names = "g1", "g2";
> -   interrupts = ,
> -    ;
> -   interrupt-names = "g1", "g2";
> +   reg = <0x3830 0x1>;
> +   reg-names = "g1";
> +   interrupts = ;
> +   interrupt-names = "g1";
> clocks = < IMX8MQ_CLK_VPU_G1_ROOT>,
> -    < IMX8MQ_CLK_VPU_G2_ROOT>;
> -   clock-names = "g1", "g2";
> +    < IMX8MQ_CLK_VPU_G2_ROOT>,
> +    < IMX8MQ_CLK_VPU_DEC_ROOT>;
> +   clock-names = "g1", "g2", "bus";

How come the G1 block needs the G2 clock?

> assigned-clocks = < IMX8MQ_CLK_VPU_G1>,
>   < IMX8MQ_CLK_VPU_G2>,
>   < IMX8MQ_CLK_VPU_BUS>,
> @@ -1306,12 +1305,36 @@ vpu: video-codec@3830 {
>  < IMX8MQ_VPU_PLL_OUT>,
>  < IMX8MQ_SYS1_PLL_800M>,
>  < IMX8MQ_VPU_PLL>;
> -   assigned-clock-rates = <6>, <6>,
> +   assigned-clock-rates = <6>, <3>,
>    <8>, <0>;
> resets = <_reset IMX8MQ_RESET_VPU_RESET_G1>;
> power-domains = <_vpu>;
> };
>  
> +   vpu_g2: video-codec@3831 {
> +   compatible = "nxp,imx8mq-vpu-g2";
> +   reg = <0x3831 0x1>;
> +   reg-names = "g2";
> +   interrupts = ;
> +   interrupt-names = "g2";
> +   clocks = < IMX8MQ_CLK_VPU_G1_ROOT>,
> +    < IMX8MQ_CLK_VPU_G2_ROOT>,

Ditto, the G2 block needs the G1 clock?

Thanks,
Ezequiel



[PATCH v1 18/18] arm64: dts: imx8mq: Add node to G2 hardware

2021-02-17 Thread Benjamin Gaignard
Split VPU node in two: one for G1 and one for G2 since they are
different hardware blocks.

Signed-off-by: Benjamin Gaignard 
---
 arch/arm64/boot/dts/freescale/imx8mq.dtsi | 43 +--
 1 file changed, 33 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi 
b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index d9d9efc8592d..3cab3f0b9131 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -1287,17 +1287,16 @@ vpu_reset: vpu-reset@3832 {
#reset-cells = <1>;
};
 
-   vpu: video-codec@3830 {
+   vpu_g1: video-codec@3830 {
compatible = "nxp,imx8mq-vpu";
-   reg = <0x3830 0x1>,
- <0x3831 0x1>;
-   reg-names = "g1", "g2";
-   interrupts = ,
-;
-   interrupt-names = "g1", "g2";
+   reg = <0x3830 0x1>;
+   reg-names = "g1";
+   interrupts = ;
+   interrupt-names = "g1";
clocks = < IMX8MQ_CLK_VPU_G1_ROOT>,
-< IMX8MQ_CLK_VPU_G2_ROOT>;
-   clock-names = "g1", "g2";
+< IMX8MQ_CLK_VPU_G2_ROOT>,
+< IMX8MQ_CLK_VPU_DEC_ROOT>;
+   clock-names = "g1", "g2", "bus";
assigned-clocks = < IMX8MQ_CLK_VPU_G1>,
  < IMX8MQ_CLK_VPU_G2>,
  < IMX8MQ_CLK_VPU_BUS>,
@@ -1306,12 +1305,36 @@ vpu: video-codec@3830 {
 < IMX8MQ_VPU_PLL_OUT>,
 < IMX8MQ_SYS1_PLL_800M>,
 < IMX8MQ_VPU_PLL>;
-   assigned-clock-rates = <6>, <6>,
+   assigned-clock-rates = <6>, <3>,
   <8>, <0>;
resets = <_reset IMX8MQ_RESET_VPU_RESET_G1>;
power-domains = <_vpu>;
};
 
+   vpu_g2: video-codec@3831 {
+   compatible = "nxp,imx8mq-vpu-g2";
+   reg = <0x3831 0x1>;
+   reg-names = "g2";
+   interrupts = ;
+   interrupt-names = "g2";
+   clocks = < IMX8MQ_CLK_VPU_G1_ROOT>,
+< IMX8MQ_CLK_VPU_G2_ROOT>,
+< IMX8MQ_CLK_VPU_DEC_ROOT>;
+   clock-names = "g1", "g2", "bus";
+   assigned-clocks = < IMX8MQ_CLK_VPU_G1>,
+ < IMX8MQ_CLK_VPU_G2>,
+ < IMX8MQ_CLK_VPU_BUS>,
+ < IMX8MQ_VPU_PLL_BYPASS>;
+   assigned-clock-parents = < IMX8MQ_VPU_PLL_OUT>,
+< IMX8MQ_VPU_PLL_OUT>,
+< IMX8MQ_SYS1_PLL_800M>,
+< IMX8MQ_VPU_PLL>;
+   assigned-clock-rates = <6>, <3>,
+  <8>, <0>;
+   resets = <_reset IMX8MQ_RESET_VPU_RESET_G2>;
+   power-domains = <_vpu>;
+   };
+
pcie0: pcie@3380 {
compatible = "fsl,imx8mq-pcie";
reg = <0x3380 0x40>,
-- 
2.25.1