CE 6.0 dynamic frequency change RRS feed

  • Question

  • Hi,

    I'm trying to dynamically change the frequency of my system running windows ce 6.0 R2 on a PXA270 for power saving purposes. The hardware configuration is similar to the Mainstone design, the image runs from the SDRAM. Has anyone had any experience with such a driver? I'm able to successfully change the frequency but the system halts after the change even if I update the memory controller for the new frequency. Any help would be appreciated.


    Tuesday, November 22, 2011 8:40 AM

All replies

  • As I recall, there's a sequence of operations that you have to follow to change the clock speed. You're following the instructions or steps documented for the PXA270? How much, exactly, are you changing things?

    Paul T.

    Monday, November 28, 2011 11:01 PM
  • Hi Paul,

    Thanks for you reply.

    I've actually made some progress with this task. I'm able to change the frequency in the bootloader using the functions in the xlli_lowlev_init.s file following the sequence recommended for the PXA. I had to modify the mem_restart function as disabling the SDRAM while the image was running from it hang the system. I did try relocating the restart function "as is" to the internal SRAM to solve this issue but it does not work from SRAM. I assume function relocataion is a separate task I will have to master...   :-) I did have to change all the functions to use virtual addresses rather than the originals which used physical addresses as the originals are called before the virtual addresses are intitialized. I'm currently trying to use the modified versions in the OS image rather than in the bootloader.




    Tuesday, November 29, 2011 7:23 AM
  • Whew! You made me happy that I never had to do that. Are you sure you need to do this? I would think that, if you are doing it in the bootloader, that means that you're setting it once and forgetting it. That should be doable from hardware, no?

    Paul T.

    Tuesday, December 13, 2011 3:26 PM
  • Well,

    I'm actually doing it dynamically from my driver, changing the voltage and frequency according to the system's power states. It is working now although probably not how Marvell and Microsoft intended... 

    What do you mean by doing it from hardware?



    Tuesday, December 13, 2011 4:05 PM
  • It seemed like you were just setting a speed once (in the bootloader), and never changing it. I thought that should be doable by adjusting wiring of the pins on the processor, taking software out of the loop completely.

    Hey, if you've got it working, that's great!

    Paul T.

    Wednesday, December 14, 2011 4:58 PM