i.MX7 Clock tree undocumented divisors on PLL

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

i.MX7 Clock tree undocumented divisors on PLL

610 Views
vsiles
Senior Contributor I

Hi !

I'm currently working on a CCM driver for a i.MX7 board. My reference documentation if the refman Rev 0.1 and Linux source code, especially ./arch/arm/mach-imx/clk-imx7d.c from the Toradex SDK I got.

 

In the table: 5-11, Clock Root Table, we can see that ARM_A7_CLK_ROOT is plugged to ARM_PLL and AUDIO_PLL.

 

In the Clock Tree (figure 5.2.4) we can see multiple "orange box" divisor /2, especially between ARM_PLL / ARM_PLL_CLK and AUDIO/VIDEO_PLL and AUDIO/VIDEO_PLL_CLK, and then that ARM_A7_CLK_ROOT is using the PLL values divided by 2.

 

Linux source code makes no mention of these /2 between PLL and CLK_ROOT.

 

Following comment on https://community.nxp.com/message/904416?commentID=904416#comment-904416 (which did not answer my previous question, but I can't unflag the 'assumed answered' status...) I've been looking to FreeRTOS_iMX7D_1.0.1_LINUX from the i.MX7 without luck. I couldn't find a Linux BSP or more information.

The PLL are well-described but most of the clock roots (especially ENET and A7) seems missing. Any help to find a more precise BSP is welcome.

Can someone clarify what these /2 boxes are and if we have to take them into account when computing CLK_ROOT frequencies ?

 

Best,

V

Labels (2)
Tags (3)
0 Kudos
2 Replies

461 Views
b36401
NXP Employee
NXP Employee

When ready Linux image boots up on the board it configures the PLLs. At first runs boot ROM than u-boot and than Linux kernel.
And if you are unsure about some PLLs you can left they configuration as in case of that ready image.
So when you run your own image you can perform the same configuration as in u-boot and kernel as boot ROM runs anyway.

Have a great day,
Victor

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

461 Views
vsiles
Senior Contributor I

Dear b36401

I think there are some misunderstanding:  I am not running Linux, I am working on a custom OS for the i.MX6 board, so I need to know how to correctly handle the power management of the sabre.

If I rephrase my question, it would be: The reference Manual for i.MX6 and Linux drivers by NXP do not agree on the description of the PLL / CCM. Which one is the correct one ?

Best,

Vincent

0 Kudos