[i.MX6 Quad SD] CPU frequencies issue

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

[i.MX6 Quad SD] CPU frequencies issue

Jump to solution
3,889 Views
maurice
Contributor III

Hi all,

In my i.MX6 Quad SD (SABRE Board for Smart Devices Based on the i.MX 6 Series Product Summary Page), I cannot set the CPU frequency to 1GHz by using the driver of the linux-3.0.35. WHY?

I a using Ltib, the latest version

I have only frequencies 792MHz and 400MHz available.

My conf:

     -Board iMX6Q_SDB (SCH - 27516 rev B3)

     -Processor ref: PCIMX6Q6AVT10AB

Thks

Labels (2)
0 Kudos
1 Solution
1,056 Views
AnsonHuang
NXP Employee
NXP Employee

Hi, Maurice

     I think that maybe because your i.MX6Q chip's fuse is not set to run at max freq = 800M, you can read the fuse value to double check, the fuse map is as below, SPEED_GRANDING field is located in OCOTP offset 0x440, bit [16 - 17], you can read it in uboot with command "imxotp read 4 ". If it is indeed set to 800M, then you may need to blow it to 1G, our uboot also provide the tool to blown the fuse, use command "imxotp blow --force 4 <value>", you can refer to the help of imxotp command in uboot for detail, please be careful about blown fuse, as it is irreversible. After setting done, you may need to power off the board and re-power on, then it should be OK to run at 1GHz.

367          * SPEED_GRADING[1:0] defines the max speed of ARM:

368          * 2b'11: 1200000000Hz;

369          * 2b'10: 1000000000Hz;

370          * 2b'01: 850000000Hz; -- i.MX6Q Only, exclusive with 1GHz.

371          * 2b'00: 800000000Hz;

View solution in original post

0 Kudos
3 Replies
1,057 Views
AnsonHuang
NXP Employee
NXP Employee

Hi, Maurice

     I think that maybe because your i.MX6Q chip's fuse is not set to run at max freq = 800M, you can read the fuse value to double check, the fuse map is as below, SPEED_GRANDING field is located in OCOTP offset 0x440, bit [16 - 17], you can read it in uboot with command "imxotp read 4 ". If it is indeed set to 800M, then you may need to blow it to 1G, our uboot also provide the tool to blown the fuse, use command "imxotp blow --force 4 <value>", you can refer to the help of imxotp command in uboot for detail, please be careful about blown fuse, as it is irreversible. After setting done, you may need to power off the board and re-power on, then it should be OK to run at 1GHz.

367          * SPEED_GRADING[1:0] defines the max speed of ARM:

368          * 2b'11: 1200000000Hz;

369          * 2b'10: 1000000000Hz;

370          * 2b'01: 850000000Hz; -- i.MX6Q Only, exclusive with 1GHz.

371          * 2b'00: 800000000Hz;

0 Kudos
1,056 Views
joelm
Contributor I

Hi all,

I have some follow up questions on the same issue (I have the i.MX 6 SABRE DualLite version).

  • Why is the board not set to 1GHz when shipped? That's the frequency that is stated on the product description.
  • Is it safe to "clock it up" to 1GHz.
  • What is the exact U-Boot commands to blow the fuse to run at 1GHz?
    • My board has 0x00140702 at index 4 so I guess the command is:
    • imxotp blow --force 4 0x00160702

Regards,

/joel

0 Kudos
1,056 Views
maurice
Contributor III

Hi,

Thank you. I tried your command and I got:

     Reading fuse at index: 0x4
     Fuse at (index: 0x4) value: 0x702

So it is meaning that I have 2b'00 (800MHz) at the SPEED_GRADING[1:0] field. Am I right?

I think I will not blow the fuse to 1GHz.