|ARM Technical Support Knowledge Articles|
Applies to: V2P-CA9
On the Versatile Express V2P-CA9 the default CPU clock frequency is 400Mhz and the default AXI bus frequency is 40Mhz. These values have been selected to provide the highest performance whilst keeping system stability, however users often want to change the default clock settings for benchmarking, test purposes, etc.
An inappropriate procedure to change the clock settings can lead to system lock-up problems and as a consequence the need of issuing a hardware reset for system recovery.
In this Knowledge Article we discuss some alternative methods that can be used to change the clock settings safely.
Changing clocks from reset.
ARM recommends to change the clocks on the Core Tile Express V2P-CA9 by editing the "board.txt" file, that is located in the USBMSD at the following default path \SITE1\HBI0191B, before reset. For more information on the Core Tile Express clocks and the safe frequency range for each clock, please refer to the Core Tile Express V2P-CA9x4 Technical Reference Manual available from the Versatile Express DVD or the ARM Website at
The "OSC" lines in the "board.txt" file set the frequency values for the following devices:
The output frequency value of OSC2 is used as a reference clock for the Test Chip. This signal is source for the three PLLs located in the Core Tile Express to generate the following test chip clocks:
In order to set the Test Chip generated clocks above to specific values, you will need to program accordingly two of the SCC (System Configuration Controller) registers, CFGRW0 and CFGRW1. Please refer to the Core Tile Express User Guide for further details on these registers and formulas required to calculate the desired frequencies. The first two SCC lines in the "board.txt" file (CFGRW0 and CFGRW1 respectively) can be changed to program the desired frequency value for the Test Chip clocks mentioned above.
The oscillators' output values (OSC 0, OSC1 and OSC 2) can also be changed at run time by one of the following methods:
Changing clocks at run time.
-Method 1: Using the Configure submenu of the Boot Monitor.
Enter the Configure submenu by typing "Configure" on the Boot Monitor command line. Type "Help" to obtain the list of commands available from this submenu. Following an example on how to view the oscillators values after reset and how to switch to a different frequency.
Configure> HELP DISPLAY CLOCK
DISPLAY CLOCK [MB|DB1|DB2] [POSITION <number>] [DCC number] OSC <device>
Displays requested clock in Hz.
Configure> DISPLAY CLOCK DB1 OSC 0
Clock Frequency = 45.000 MHz
Configure> HELP SET CLOCK
SET CLOCK [MB|DB1|DB2] [POSITION <number>] [DCC number] OSC <device> FREQUENCY <value>
Sets requested clock in MHz.
Configure> SET CLOCK DB 1 OSC 0 FREQUENCY 40
Configure> DISPLAY CLOCK DB1 OSC 0
Clock Frequency = 40.000 MHz
Note: If the first option [MB:DB1:DB2] is not specified on the command line above, the Boot Monitor will interpret "MB" by default for the motherboard oscillators. In order to display or set an oscillator output value on the Core Tile Express, you will need to specify "DB1" in the command line as shown above.
-Method 2: Using the Debug submenu of the MCC command line (CFG command)
The Debug submenu of the MCC is only available in running mode from:
MBLOG: TRUE ;LOG MB MICRO TO UART1 in run mode
For example, to change the output value for OSC 0 on the Core Tile Express (DB1):
Debug>CFG W OSC DB1 0 0 40
DB1 OSC0 clock set = 40.000Mhz
For a detailed description of the MCC command line interface on how to use different submenus and options, please refer to the Motherboard Express TRM available from the Versatile Express TRM or the ARM Website at
Did you find this article helpful? Yes No
How can we improve this article?