I.MX8MQ: How can we increase the VPU G2 frequency?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

I.MX8MQ: How can we increase the VPU G2 frequency?

1,153 Views
leslie_yu
Contributor I

Hi,

How can we configure VPU G2 frequency as 660MHz?

Leslie

Labels (1)
0 Kudos
6 Replies

1,003 Views
leslie_yu
Contributor I

Hi Yuri,

We modified assigned-clock-rates to 660000000 as the following in red but it does not work. We are also sure the voltage is 1.0v. Do you know what else we might miss?

vpu: vpu@38300000 {   compatible = "nxp,imx8mq-hantro";   reg = <0x0 0x38300000 0x0 0x200000>;   reg-names = "regs_hantro";   interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;   interrupt-names = "irq_hantro_g1", "irq_hantro_g2";   clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>, <&clk IMX8MQ_CLK_VPU_G2_ROOT>, <&clk IMX8MQ_CLK_VPU_DEC_ROOT>;   clock-names = "clk_hantro_g1", "clk_hantro_g2", "clk_hantro_bus";   assigned-clocks = <&clk IMX8MQ_CLK_VPU_G1_SRC>, <&clk IMX8MQ_CLK_VPU_G2_SRC>, <&clk IMX8MQ_CLK_VPU_BUS_SRC>;   assigned-clock-parents = <&clk IMX8MQ_VPU_PLL_OUT>, <&clk IMX8MQ_VPU_PLL_OUT>, <&clk IMX8MQ_SYS1_PLL_800M>;   assigned-clock-rates = <600000000>, <660000000>, <800000000>;   power-domains = <&vpu_pd>;   regulator-supply = <&sw1c_reg>;   status = "disabled";  };
0 Kudos

1,003 Views
Yuri
NXP Employee
NXP Employee

Hello,

  please try 

assigned-clock-rates = <660000000>, <660000000>, <800000000>;  

Regards,

Yuri.

0 Kudos

1,003 Views
leslie_yu
Contributor I

We tried accordingly but it still does not work.

fsl-imx8mq.dtsi

        vpu: vpu@38300000 {

                compatible = "nxp,imx8mq-hantro";

                reg = <0x0 0x38300000 0x0 0x200000>;

                reg-names = "regs_hantro";

                interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;

                interrupt-names = "irq_hantro_g1", "irq_hantro_g2";

                clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>, <&clk IMX8MQ_CLK_VPU_G2_ROOT>, <&clk IMX8MQ_CLK_VPU_DEC_ROOT>;

                clock-names = "clk_hantro_g1", "clk_hantro_g2", "clk_hantro_bus";

                assigned-clocks = <&clk IMX8MQ_CLK_VPU_G1_SRC>, <&clk IMX8MQ_CLK_VPU_G2_SRC>, <&clk IMX8MQ_CLK_VPU_BUS_SRC>;

                assigned-clock-parents = <&clk IMX8MQ_VPU_PLL_OUT>, <&clk IMX8MQ_VPU_PLL_OUT>, <&clk IMX8MQ_SYS1_PLL_800M>;

                assigned-clock-rates = <660000000>, <660000000>, <800000000>;

                power-domains = <&vpu_pd>;

                regulator-supply = <&sw1c_reg>;

                status = "disabled";

        };

cat /sys/kernel/debug/clk/clk_summary | grep -i vpu : 

    vpu_pll_ref_sel                       0            0    25000000          0 0

       vpu_pll_ref_div                    0            0     5000000          0 0

          vpu_pll                         0            0   600000000          0 0

             vpu_pll_bypass               0            0   600000000          0 0

                vpu_pll_out               0            0   600000000          0 0

                   vpu_g2_src             0            0   600000000          0 0

                      vpu_g2_cg           0            0   600000000          0 0

                         vpu_g2_pre_div           0            0   600000000          0 0

                            vpu_g2_div           0            0   600000000          0 0

                               vpu_g2_root_clk           0            0   600000000          0 0

                   vpu_g1_src             0            0   600000000          0 0

                      vpu_g1_cg           0            0   600000000          0 0

                         vpu_g1_pre_div           0            0   600000000          0 0

                            vpu_g1_div           0            0   600000000          0 0

                               vpu_g1_root_clk           0            0   600000000          0 0

0 Kudos

1,003 Views
Yuri
NXP Employee
NXP Employee

Hello,

   Do You use the recent NXP Linux BSP?

Regards,

Yuri.

0 Kudos

1,003 Views
cphealy1
Senior Contributor I

I looked at the latest NXP BSP kernel's devicetree (5.4.3_2.0.0) and see that both the Hantro G1 and G2 are clocked at 600MHz.  Is there a reason that the latest NXP BSP devicetree does not have the Hantro G2 clocked at 660MHz?  According to the datasheet, the Hantro G1 should be at 600MHz and the Hantro G2 should be at 660MHz.

As an experiment, I tried running the Hantro G1 at 600, 660, 720, and 800MHz.  All of them seem to work fine with no stability issues and don't seem to result in any increase in core temperature.  This makes me wonder why the current frequencies of 600MHz and 660MHz were selected.  (All of my testing was done on a sample of 2 units so it could be that with some units the stability is an issue at increased frequencies.)

0 Kudos

1,003 Views
Yuri
NXP Employee
NXP Employee

 

Hello,

 

   Customers can try changing the Device Tree configuration on own risk.

fsl-imx8mq.dtsi\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel 

Have a great day,

Yuri

 

 

-------------------------------------------------------------------------------

Note:

- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

 

- We are following threads for 7 weeks after the last post, later replies are ignored

Please open a new thread and refer to the closed one, if you have a related question at a later point in time.

0 Kudos