Hello
Current Starterware on beaglebone speed up 720Mhz, but I need to slow down it to 500Mhz, 600Mhz or 275Mhz.
Anybody could tell me how to change it?
Best regards.
Alan
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.
Hello
Current Starterware on beaglebone speed up 720Mhz, but I need to slow down it to 500Mhz, 600Mhz or 275Mhz.
Anybody could tell me how to change it?
Best regards.
Alan
Alan,
The PLL settings are always set up during bootstrap process. So the logical point would be to start looking at the bootloader code.
Under bootloader there are PLL divider value settings (look for COREPLL_M, PERPLL_M and so on). These are the divider values for PLLs driving various subsystems, including the CPU.
Note that you may have to take a very close look and be aware of the changes. Some of these may affect the function clocks (module input frequencies) of other peripherals like the UART, SPI, MMC/SD in groups.
I would appreciate if there is an API for some very common OPPs.
I remember in the DaVinci UBL there was simple way to change the PLL settings for various OPPs.
http://processors.wiki.ti.com/index.php/OMAPL1:_Changing_the_Operating_Point#Configuring_ARM_UBL_for_a_specific_OPP
A similar guide would be go to have for StarterWare
Hope this helps.
Thanks and regards,
Madhvapathi Sriram
Hi Alan,
To run beaglebone at different frequencies modify the value of macro “MPUPLL_M_720” to the required frequency (currently it is defined to 720.). This macro is defined in “bootloader/include/armv7a/am335x/bl_platform.h” file. Whenever frequency is scaled, voltage has to be changed correspondingly. To change the voltage modify the value of macro “DCDC_VOLT_SEL_1275MV” to the required voltage (currently it is defined to x0F(i.e1.275v)).This macro is defined in “include/hw/hw_tps65217.h” file. Below table gives information about voltage vs frequency.
voltage | Frequency |
1.26V(0x0F) | 720MHz |
1.2V(0x0C) | 600MHz |
1.1V(0x08) | 500MHz |
0.95V(0x02) | 275MHz |
For example, to run beaglebone at 600 MHz one has to modify the value of macro “MPUPLL_M_720” to 600 and “DCDC_VOLT_SEL_1275MV” to 0x0C (i.e 1.2v).
Regards
Savinay
Savinay Dharmappa said:“MPUPLL_M_720” to 600 and “DCDC_VOLT_SEL_1275MV” to 0x0C (i.e 1.2v).
The macro names need to be more generalized?