how to siwtch 800mhz to 1000 mhz on imx53 demo image

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

how to siwtch 800mhz to 1000 mhz on imx53 demo image

1,674 Views
JasonYu
Contributor I

Hi All :

         I try clk core 1000 to switching the cpu clock , no use why ? the SMD board demo image is setting in 800 mHZ . how could I switch to 1000 mHz even 1200 mHZ  ?

                                                      Jason Yu

Tags (1)
0 Kudos
11 Replies

1,112 Views
xizhouwang
Contributor II

With the latest released patches to 1109BSP, both QSB and QSB-R will set CPU frequency to 1GHz in board_late_init() as the default value after the print_cpuinfo() reported 800MHz eariler. Steve's patch can run the QSB at 1000MHz from the beginning. While PM34708 using a different I2C address, so changes may be needed for the QSB-R version. 

0 Kudos

1,112 Views
StevieRG
Contributor II

I think I got the QSB running at 1GHz, this is what I did, the change seemed quite simple in the end. I haven't created a patch as there are several different patched levels of u-boot out there. This is based upon a clean u-boot-2009.08 from L2.6.35_11.09.01_ER_source_bundle, with the supplied u-boot patches applied, and a patch I found in a web search "ENGR00137552 MX53: increase VDDGP as 1.2V for 1GHZ". I hope it's useful to someone.

-------------------------------------------------
file mx53_loco.c that's in /ltib/rpm/BUILD/u-boot-2009.08/board/freescale:

In function board_init(void), I found there are already some commented out lines to do with setting PMIC voltage and switching to 1GHz. Uncomment these so you are left with:

#ifdef CONFIG_I2C_MXC
setup_i2c(CONFIG_SYS_I2C_PORT);
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
/* delay pmic i2c access to board_late_init()
due to i2c_probe fail here on loco/ripley board. */
/* Increase VDDGP voltage */
setup_pmic_voltages();
/* Switch to 1GHZ */
clk_config(CONFIG_REF_CLK_FREQ, 1000, CPU_CLK);
#endif

-------------------------------------------------
Also in the same file, locate the function void setup_pmic_voltages(void), which for my file was actually completely empty. Add in some lines as below:

void setup_pmic_voltages(void)
{
  int value;
   i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
   /* increase VDDGP as 1.2V for 1GHZ */
   value = 0x5c;
   i2c_write(0x48, 0x2e, 1, &value, 1);
}

Then rebuild and deploy. For me this booted straightaway into 1GHz, boot text is:

U-Boot 2009.08 (May 26 2012 - 08:22:20)

CPU: Freescale i.MX53 family 2.1V at 1000 MHz
mx53 pll1: 1000MHz
mx53 pll2: 400MHz
mx53 pll3: 432MHz
mx53 pll4: 455MHz
ipg clock : 66666666Hz
ipg per clock : 33333333Hz
uart clock : 66666666Hz
cspi clock : 108000000Hz
ahb clock : 133333333Hz
axi_a clock : 400000000Hz
axi_b clock : 200000000Hz
emi_slow clock: 133333333Hz
ddr clock : 400000000Hz
esdhc1 clock : 80000000Hz
esdhc2 clock : 80000000Hz
esdhc3 clock : 80000000Hz
esdhc4 clock : 80000000Hz
nfc clock : 26666666Hz

0 Kudos

1,112 Views
fabio_estevam
NXP Employee
NXP Employee

Make sure you  have an updated version of U-boot running on your board.

If you look at its source code you will see that 1GHz is the default mode:

http://opensource.freescale.com/git?p=imx/uboot-imx.git;a=blob_plain;f=board/freescale/mx53_smd/mx53...

0 Kudos

1,112 Views
KevinChen_ng
Contributor I
Hi,You can try to modify uboot' src code. CPU frequency Dived from pll1. And now, pll1 is 800M.  

JasonYu said:

Hi !! All :

                I  patch u-boot or set r "arm_freq=1000" on kernel command line  . the result is same 800 mHZ .

  I found the problem is some setting not show on printenv  command. 

               because I use other  people's SD card it could boot 1000 MHZ normally  even replace my own u-boot image is correct 1000 MHZ . Because of the copyrights , I could not use his SD card .

              So If any could told me . which setenv command could change to 1000 MHZ .  I tried " sert core clk 1000" no use at all .

                                                                   Jason Yu

0 Kudos

1,112 Views
JasonYu
Contributor I

Hi !! All :

                I  patch u-boot or set r "arm_freq=1000" on kernel command line  . the result is same 800 mHZ .

  I found the problem is some setting not show on printenv  command. 

               because I use other  people's SD card it could boot 1000 MHZ normally  even replace my own u-boot image is correct 1000 MHZ . Because of the copyrights , I could not use his SD card .

              So If any could told me . which setenv command could change to 1000 MHZ .  I tried " sert core clk 1000" no use at all .

                                                                   Jason Yu

0 Kudos

1,112 Views
daiane_angolini
NXP Employee
NXP Employee

You should be right.

As I know, the default for "latest release" is core @ 1GHz. So maybe those patches are for "latest"

Steve G said:

This interests me also. The arm_freq suggestion didn't work for me, however I did find this patch in "ltib/rpm/BUILD/u-boot-2009.08/patches"

0238-ENGR00137552-MX53-increase-VDDGP-as-1.2V-for-1GHZ.patch

Looking at it's contents, it does seem to affect the core voltage and clock configuration for a 1GHz operation. There are other patches also in that directory that affect the clock in similar ways, grep for "clk_config(CONFIG_REF_CLK_FREQ, 1000". Perhaps we need to apply these patches - maybe someone knows or has already tried doing this? Thanks.

0 Kudos

1,112 Views
StevieRG
Contributor II

This interests me also. The arm_freq suggestion didn't work for me, however I did find this patch in "ltib/rpm/BUILD/u-boot-2009.08/patches"

0238-ENGR00137552-MX53-increase-VDDGP-as-1.2V-for-1GHZ.patch

Looking at it's contents, it does seem to affect the core voltage and clock configuration for a 1GHz operation. There are other patches also in that directory that affect the clock in similar ways, grep for "clk_config(CONFIG_REF_CLK_FREQ, 1000". Perhaps we need to apply these patches - maybe someone knows or has already tried doing this? Thanks.

0 Kudos

1,112 Views
daiane_angolini
NXP Employee
NXP Employee

kernel command line is what you place on bootargs.

JasonYu said:

Tanks Daiane !!  

Where to put "kernel command line" ?  I do not understand . in U-Boot or menuconfig ? 

0 Kudos

1,112 Views
JasonYu
Contributor I

my u-boot message :

U-Boot 2009.08 (Sep 27 2011 - 15:58:34)

CPU: Freescale i.MX53 family 2.1V at 800 MHz
mx53 pll1: 800MHz
mx53 pll2: 400MHz
mx53 pll3: 216MHz

0 Kudos

1,112 Views
JasonYu
Contributor I

Tanks Daiane !!  

Where to put "kernel command line" ?  I do not understand . in U-Boot or menuconfig ? 

0 Kudos

1,112 Views
daiane_angolini
NXP Employee
NXP Employee

What do you see on u-boot?

Try to add "arm_freq=800" or "arm_freq=1000" on your kernel command line and let me know!

0 Kudos