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.

AM5708: Question related to smart reflex -- AM5708

Part Number: AM5708
Other Parts Discussed in Thread: AM5706

Hi All,

We have some queries related to AM5708 smart reflex testing. Can someone please look below queries and respond back?

  • Which driver Do I need to use CPU frequency driver or Power AVS driver or both?
  • Can I have different OPP configs for AM5708 in DTS? I found for 1.5 Ghz which is for Am571x.
  • CPU freq driver already configured. Here is some of it for CPU freq driver as below,

#

# CPU Frequency scaling

#

CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_GOV_COMMON=y

CONFIG_CPU_FREQ_STAT=y

CONFIG_CPU_FREQ_STAT_DETAILS=y

# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set

# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set

# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set

CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y

# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set

CONFIG_CPU_FREQ_GOV_PERFORMANCE=y

CONFIG_CPU_FREQ_GOV_POWERSAVE=y

CONFIG_CPU_FREQ_GOV_USERSPACE=y

CONFIG_CPU_FREQ_GOV_ONDEMAND=y

CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

  • For AVS (smart reflex) I think I need to enable CONFIG_POWER_AVS in kernel. Please confirm. How can I confirm this change by testing?

Regards,

Ketan

  • Hello Ketan,

    I will look into this. What version of Linux are you using?

    Regards,

    Nick

  • Hi Nick,

    We are using Linux version 4.4.41 .
  • Hello Ketan,

    I am sorry for the delay. Please take a look at Linux Porting Guide for AM571x/AM570x Speed Grades. There is just one OPP for AM570x.

    Regards,

    Nick

  • Hi Nick,

    Thanks for quick reply.

    We measured VDD_CORE and VDD_DSP voltages on our custom AM5708 boards with config_power_AVS enabled in Kernel and we found below measurement for voltages.

    VDD_CORE -- 1.06V (1.12V without AVS config enabled in Kernel)
    VDD_DSP -- 1.06V (1.06V without AVS config enabled in Kernel.)

    Please confirm below things for AVS,
    - Above VDD_CORE voltages getting down with AVS enables so is AVS is working properly with that config or not ? Do we need to measure anything else on this?
    - VDD_DSP is not getting changed but i think it is due to i876 in errata of AM5708.

    Please let us know AVS support is working or not in our board?

    Also we want CPU OPP settings in linux kernel dts for AM5708. Link which you shared shows that settings for 1Ghz, 1.1Ghz and 1.5 GHz speed but which are not supported on AM5708. Can you give us direct opp entry for 500Mhz, 750Mhz and 1Ghz opps for am5708 over here?

    Thanks,
  • Hello Ketan,

    I am back from Thanksgiving vacation and looking into both of your questions (how to verify that AVS support is working, and what your OPP options are).

    Regards,
    Nick
  • Hi Ketan,

    Support for AM570x was added in Processor SDK 3.03 (Kernel 4.4.41 and U-boot ti2016.06) and it should also have support for AVS Class 0 by default. It does appear AVS is working if the CORE voltage changes from the default 1.15V and the DSP voltage changes from the default 1.06V. Sometimes the optimal AVS voltage is the same as default. You can read the AVS register values to confirm, details are in the TRM.

    The errata i876 means the DSP voltage and frequency will only change when you reboot (the settings are applied by u-boot and not controlled by the Linux kernel). The MPU can change voltage and frequency during operation using the cpufreq driver. The AM5708 is 1 GHz max. Some versions of AM5706 are 500 MHz max.

    Regards,
    Ahmad
  • Edited 2019-04-15 by Nick Saulnier

    Hello Ketan,

    On the 500MHz, 750MHz, 1GHz question: there is only one OPP on AM5708 that TI tests and guarantees performance on: 1GHz. You can define your own OPPs with the same voltage range as the 1GHz OPP, but with lower frequencies. Please note that TI has not tested these frequencies, so we cannot support you if you run into issues when operating the core at a lower frequency. This is incorrect.

    TI supports all AM570x speed grades as given in the AM570x datasheet “Table 5-2. Speed Grade Maximum Frequency”. The Linux Porting Guide for AM571x/AM570x Speed Grades discusses how to make changes in U-Boot and Linux in order to allow a J or D speed grade part to be used.

    The AM570x D speed grade part should not be run at frequencies lower than the maximum frequency given in the table (i.e. only use MPU = 500MHz, DSP = 500MHz, etc). TI does not support running AM570x D speed grade parts at lower frequencies.

    However, on AM570x J speed grade parts: MPU, DSP, and DDR frequencies may be reduced down to the level of D speed grade parts (i.e. MPU = 500MHz to 1000MHz, DSP = 500MHz to 750MHz, DDR3 = 533MHz to 667 MHz). Custom OPPs that only modify MPU, DSP, and DDR frequencies should not cause issues. However, changing other frequencies (L3 frequency, etc) may cause problems. TI does not support custom OPPs on AM570x J speed grade parts that modify frequencies other than MPU, DSP, and DDR.

    You can add custom OPPs by using /delete-node/ in &cpu0_opp_table of your device tree to get rid of the frequencie above 1GHz, then adding the new lower frequency nodes to the table. Please reference Linux Porting Guide for AM571x/AM570x Speed Grades. This post might also be useful.

    Regards,

    Nick