AXI bus clock scaling on i.MX 6SoloLite

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

AXI bus clock scaling on i.MX 6SoloLite

Jump to solution
812 Views
michaelbergs
Contributor I

Hi,

I've just receiver an i.MX 6SoloLite evaluation board and I've just started to play with it, trying to get power consumption as low as possible.

I'm following the guidelines by Freescale (i.MX 6SoloLite Power Consumption Measurement document) and, apart from disabling unused peripherals, I get the most of the power reduction from scaling the AXI bus clock.


Up to now, in my testing I've scaled AXI and AHB bus clocks changing the PODF in their CCM register using memtool this way, just to try out what happen:

memtool CCM.CBCDR.FABRIC_MMDC_PODF=7

memtool CCM.CBCDR.AHB_PODF=7


Now I'm think of implementing a custom governor that scales that clocks based on our use cases.

By the way what I'm missing here is what are the possible side effects of doing this on the production code, I don't find good documentation on that.

I need to know if there are some stability issues having that clocks so low, or if it's only a matter of performance.


Thanks in advance,

Cheers.



Labels (3)
0 Kudos
1 Solution
607 Views
AnsonHuang
NXP Employee
NXP Employee

Hi,

     This approach is not recommended, the MMDC clock can NOT be adjusted on the fly, we have strict flow of adjusting MMDC's freq, and AXI/AHB/IPG clock are tied with this MMDC clock adjustment, we call it bus freq.

     There are several setpoints for our busfreq, basically, we map it to below use cases: user idle, system idle, low power audio playback, DSM etc. please refer to our application notes, you should be able to get it from freescale website, otherwise, you need to contact our FAEs/AEs.

     Based on our bufreq setpoint, you can adjust those buses freq(MMDC, AXI, AHB etc.) according to your use case, but need to use the flow in our BSP, otherwise, you might meet stability problem.

View solution in original post

0 Kudos
2 Replies
608 Views
AnsonHuang
NXP Employee
NXP Employee

Hi,

     This approach is not recommended, the MMDC clock can NOT be adjusted on the fly, we have strict flow of adjusting MMDC's freq, and AXI/AHB/IPG clock are tied with this MMDC clock adjustment, we call it bus freq.

     There are several setpoints for our busfreq, basically, we map it to below use cases: user idle, system idle, low power audio playback, DSM etc. please refer to our application notes, you should be able to get it from freescale website, otherwise, you need to contact our FAEs/AEs.

     Based on our bufreq setpoint, you can adjust those buses freq(MMDC, AXI, AHB etc.) according to your use case, but need to use the flow in our BSP, otherwise, you might meet stability problem.

0 Kudos
607 Views
oferfederovsky
Contributor III

Hi,

I'm trying to do the same as Andrea, but I'm not able to set AXI and AHB clocks to fixed values. Their frequencies keeps changing dynamically.

Any idea on how to configure them to fix values?

I'm more interested in the mp3 audio playback use case as described in the Power Consumption Measurement document (AN4580).

Thanks in advance.

0 Kudos