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.

Running the am335x at 1 GHz

Hello

We have a custom PCB with an AM335x.  We recently built up a few boards with the 1GHz part (we previously used 720MHz) and are now trying to get this operational.  I have investigated this a bit and it seems I need to update the am33xx_opp_def_list in opp3xxx_data.c to reflect the new voltages and speeds, is that correct?  Is there anything else that needs to be done to support this?

Note: our base PSP is 5.04.01.00, and we've made a few customizations so we'd prefer not to get a new kernel tree if possible.  Hopefully the answer to my question isn't "just update to the 3.6 kernel and you'll find it's already supported".   It'd be better for us to look at a patch file and backport the changes if this has been done.

  • Quoting from another post (below is based on EZSDK v5.7):
     
    To modify the OPP table (for example, lower frequency of specific OPP), look at arch/arm/mach-omap2/opp3xxx_data.c, and find the "omap_opp_def" table being used in your case.  You may see several OPP tables.  This example "am33xx_es1_0_opp_def_list", is likely the one being used on your StarterKit board, because your StarterKit silicon revision is probably "ES 1.0" (engineering sample 1.0).

    #define AM33XX_VDD_MPU_OPP50_UV     1100000
    #define AM33XX_VDD_MPU_OPP100_UV    1100000
    #define AM33XX_VDD_MPU_OPP120_UV    1200000
    #define AM33XX_VDD_MPU_OPPTURBO_UV  1260000

    static struct omap_opp_def __initdata am33xx_es1_0_opp_def_list[] = {
    /* MPU OPP1 - OPP50 */
    OPP_INITIALIZER("mpu", true,  275000000, AM33XX_VDD_MPU_OPP50_UV),
    /* MPU OPP2 - OPP100 */
    OPP_INITIALIZER("mpu", true,  500000000, AM33XX_VDD_MPU_OPP100_UV),
    /* MPU OPP3 - OPP120 */
    OPP_INITIALIZER("mpu", true,  600000000, AM33XX_VDD_MPU_OPP120_UV),
    /* MPU OPP4 - OPPTurbo */
    OPP_INITIALIZER("mpu", true,  720000000, AM33XX_VDD_MPU_OPPTURBO_UV),
    };

    • You can freely lower the frequency of any OPP WITHOUT changing voltage.
    • Disable any OPP by changing “true” to “false” within the desired row of the table.
    • You can insert a new OPP (such as 720/500).  To do so, add a new entry to the table.  An entry is a line of code with the following form:
      • OPP_INITIALIZER("mpu", true,  <freq in Hz>, <voltage in uV>),
      • Please keep the table ordered by frequency.
      • If you insert a new frequency, use the voltage corresponding to the next highest frequency.  For example, if you add 720MHz, use the 800MHz voltage.
      • Do not add OPP's with higher frequencies than defined in the table.