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.

AM3517 MPU Rate

Other Parts Discussed in Thread: AM3517

While booting with a kernel compiled from the 03.00.01.06 release, I have noticed that the ability to set the MPU clock rate (set in bootargs) no longer functions.  The following boot errors appear with this kernel version, but not in the 03.00.00.05 release:

------------[ cut here ]------------
WARNING: at arch/arm/mach-omap2/clock34xx.c:456 omap2_clk_arch_init+0x38/0x1e8()
OPP table not defined for MPU
Modules linked in:
[<c0033518>] (unwind_backtrace+0x0/0xdc) from [<c0054fc8>] (warn_slowpath_common+0x48/0x60)
[<c0054fc8>] (warn_slowpath_common+0x48/0x60) from [<c0055018>] (warn_slowpath_fmt+0x24/0x30)
[<c0055018>] (warn_slowpath_fmt+0x24/0x30) from [<c000fa00>] (omap2_clk_arch_init+0x38/0x1e8)
[<c000fa00>] (omap2_clk_arch_init+0x38/0x1e8) from [<c002d334>] (do_one_initcall+0x5c/0x1b4)
[<c002d334>] (do_one_initcall+0x5c/0x1b4) from [<c0008578>] (kernel_init+0x90/0x10c)
[<c0008578>] (kernel_init+0x90/0x10c) from [<c002ee90>] (kernel_thread_exit+0x0/0x8)
---[ end trace 1b75b31a2719ed1c ]---
------------[ cut here ]------------
WARNING: at arch/arm/mach-omap2/clock34xx.c:460 omap2_clk_arch_init+0x6c/0x1e8()
OPP table not defined for DSP
Modules linked in:
[<c0033518>] (unwind_backtrace+0x0/0xdc) from [<c0054fc8>] (warn_slowpath_common+0x48/0x60)
[<c0054fc8>] (warn_slowpath_common+0x48/0x60) from [<c0055018>] (warn_slowpath_fmt+0x24/0x30)
[<c0055018>] (warn_slowpath_fmt+0x24/0x30) from [<c000fa34>] (omap2_clk_arch_init+0x6c/0x1e8)
[<c000fa34>] (omap2_clk_arch_init+0x6c/0x1e8) from [<c002d334>] (do_one_initcall+0x5c/0x1b4)
[<c002d334>] (do_one_initcall+0x5c/0x1b4) from [<c0008578>] (kernel_init+0x90/0x10c)
[<c0008578>] (kernel_init+0x90/0x10c) from [<c002ee90>] (kernel_thread_exit+0x0/0x8)
---[ end trace 1b75b31a2719ed1d ]---
------------[ cut here ]------------
WARNING: at arch/arm/mach-omap2/clock34xx.c:463 omap2_clk_arch_init+0x90/0x1e8()
OPP table not defined for L3
Modules linked in:
[<c0033518>] (unwind_backtrace+0x0/0xdc) from [<c0054fc8>] (warn_slowpath_common+0x48/0x60)
[<c0054fc8>] (warn_slowpath_common+0x48/0x60) from [<c0055018>] (warn_slowpath_fmt+0x24/0x30)
[<c0055018>] (warn_slowpath_fmt+0x24/0x30) from [<c000fa58>] (omap2_clk_arch_init+0x90/0x1e8)
[<c000fa58>] (omap2_clk_arch_init+0x90/0x1e8) from [<c002d334>] (do_one_initcall+0x5c/0x1b4)
[<c002d334>] (do_one_initcall+0x5c/0x1b4) from [<c0008578>] (kernel_init+0x90/0x10c)
[<c0008578>] (kernel_init+0x90/0x10c) from [<c002ee90>] (kernel_thread_exit+0x0/0x8)
---[ end trace 1b75b31a2719ed1e ]---

Is there a fix for this, or must I continue to use the previous release?

Thanks!

  • Hello,

    For AM35x we only support one OPP (600MHz).  the OMAP35x and AM/DM37x support multiple OPPs. 

  • Jeff,

    I believe you are incorrect.  Using the 03.00.00.05 Kernel, I have tested mpurate values of 600, 500, and 125 MHz on my AM3517 SOM since your reply.  The processor information specified in /proc/cpuinfo changes accordingly when I give this boot argument and I see noticeable current draw differences between the different settings.

  • Hello Justin,

    I see what you are saying.  You just want to clock the MPU down and nothing else right?  If that is the case then you should be able to adjust the ARM clock.  I am not sure why 03.00.01.06 would not allow that, but I will ask around.

  • I can explain why you see the errors on 03.00.01.06. In the board-am3517.c file there is some initialization done

    static void __init am3517_evm_init_irq(void)
    {
            omap_board_config = am3517_evm_config;
            omap_board_config_size = ARRAY_SIZE(am3517_evm_config);

            omap2_init_common_hw(NULL, NULL, NULL, NULL, NULL);
            omap_init_irq();
            omap_gpio_init();
    }

    The last 3 parameters are: mpu rate table, dsp rate table, and l3 rate table. Since all 3 are NULL, there are no tables with voltage/frequency pairs. The code in clock34xx.c has checks for NULL:

            /*
             * Check if OPP tables are defined.
             */
            if (WARN((!mpu_opps), "OPP table not defined for MPU\n"))
                    err = 1;

            if (omap3_has_iva())
                    if (WARN((!dsp_opps), "OPP table not defined for DSP\n"))
                            err = 1;

            if (WARN((!l3_opps), "OPP table not defined for L3\n"))
                    err = 1;

            if (err)
                    return -ENOENT;

    Steve K.

  • Jeff, Steve,

       I have a customer who is very interested in getting the AM3517 able to shift down into lower CPU speeds. I've done some looking into the linux-03.00.00.05 PSP and am3517_evm_init_irq did not specify omap_opp structures for the mpu rate table, the dsp rate table, or l3 rate table either (as hinted above). Can either of you provide more information on how the 03.00.00.05 was able to support setting the cpu clock rate from the bootargs?

      As a follow-on question, I haven't been able to find any documentation on what the OPP voltage/frequency pairs would be for the AM3517. Do you have any links to any official specifications? The TRM and data sheet do offer much on that point.


    Thanks,

    Jemiah

    .