5/19/2012

How the Scropion clock is configured during boot stage?

If you are working on the 8x60 LK boot-loader, you might note the Scoprion clock is no longer configured in LK - acpu_clock_init() anymore, it's because boot architecture in 8x60 platfrom is different from previous platform (i.e 7x30/8x55), in 8x60 platfomr the Scorpion is start to run before the modem processor.

Basically, the Scorpion clock is controlled by the SCSS_CLK_CTL and SCSS_CLK_SEL register, after the system boot up (reset), by default the Scorpion clock is tighted with AXI (EBI1) speed. In current 8x60 software design the Scorpion clock is configured in SBL1 (RPM bootloader), SBL2(Scorpion bootloader), and SBL3 (Scorpion bootloader), this solution will show you where the Scorpion clock is set and what speed of Scorpion at that point.
 
SBL1:
After calling clk_regime_rpm_init_boot_rpmsbl(), the AXI is configured to 128MHz, so the Scorpion clock is 128MHz.

SBL2:
In clk_regime_apps_init_boot(), the Scorpion clock is configured from 128MHz to 524MHz, the detailed are : 128MHz (AXI Speed) -> 262MHz (AXI Speed) -> 384MHz (PLL8 -- 384MHz / 1) -> 524MHz (PLL11 -- 1048MHz / 2).
 
SBL3:
After calling the clk_regime_apps_switch_acpu_clk_core(), the Scorpion clock is 750MHz (PLL9 -- 1500MHz / 2).

No comments:

Post a Comment