This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3358: 800MHz frequency setting

Part Number: AM3358
Other Parts Discussed in Thread: AM3352, AM4372

Hi Expert


In  AM335x Linux SDK6.0.1  Kernel DTS file , what is the definition of dpll_mpu_ck? I searched in Linux kernel, but didn’t find the definition.

What does it mean “clock-latency = <300000>;”

How to set a 800MHz CPU Freq in Kernel? Here I don’t expect DVFS mode and after Kernel bring-up, it can always keep as 800MHz. I have read POWER Managerment section in Linux SDK  development guide, but didn’t find a clear answer.

 cpus {
  #address-cells = <1>;
  #size-cells = <0>;
  cpu@0 {
   compatible = "arm,cortex-a8";
   enable-method = "ti,am3352";
   device_type = "cpu";
   reg = <0>;

   operating-points-v2 = <&cpu0_opp_table>;

   clocks = <&dpll_mpu_ck>;
   clock-names = "cpu";

   clock-latency = <300000>; /* From omap-cpufreq driver */
   cpu-idle-states = <&mpu_gate>;

Best regards

Mariano

  • Hello Mariano,

    AM335x clocks are defined in arch/arm/boot/dts/am33xx-clocks.dtsi

    Please see our Power Management documentation for information on operating points, setting the kernel config for the CPU governor and changing the governer during runtime, etc.

    Regards,

    Nick

  • Hi Nick

    I have read this part carefully, but still have some confusion.
    What I need is just to set 800M Freq in the initialization stage,  not need DVFS.

    Questions:
    1) You mentioned am33xx-clocks.dtsi above, do you mean I need to change something in this DTS file? If yes, how?

    2) Governor can change CPU freq in running time, can use it to set CPU freq in initilization stage?

    Kernel can support below Governor mode, does it mean we can use $make menuconfig to select "performance" items to make the CPU work in highest frequency?

    "performance: This governor statically sets the OPP of the MPU to the highest possible frequency"

    3) Besides above way, is there kernel code/DTS modification to support 800M freq,
    In the link, there is DT configuration table and OPP part, how to change to support 800M?

  • Hello Mariano,

    QUESTION: How to set a governor at run time?
    I would expect that you could disable different governors by following the steps in "Kernel Configuration Options" and clearing the governors you did not want to use. I have not played with this feature yet myself, so if that is not the case, let me know and I can take a look at it.

    QUESTION: How to ensure that the governor is using one specific OPP (800MHz)?
    The governors should use opp_table0 as their reference for which OPPs are allowed. If you only want it to use one OPP, then remove the other OPPs. You could modify am4372.dtsi, but in general it is better to leave that file alone and overwrite the information with a later dts/dtsi file. Linux Porting Guide for AM571x/AM570x Speed Grades, section "Linux Changes to Consider" provides an example of how to use delete-node on nodes that you do not want to use.

    Regards,

    Nick