Change LPDDR4 operating frequency

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

Change LPDDR4 operating frequency

Jump to solution
3,933 Views
nirmalluhana
Contributor IV

Hi,

 

Release: Yocto-Morty (4.9.51_GA)

Board: i.MX8MQ EVK

I want to change LPDDR4 operating frequency from 1600MHz (as the log is shown in imx8 DDR stress tool) to lower rate (like 800 MHz or something else). So, for that which procedure I have to follow & there is any guide or steps available to do the same.

Best regards,

Nirmal

Labels (1)
1 Solution
3,193 Views
igorpadykov
NXP Employee
NXP Employee

Hi Nirmal

for selecting LPDDR4 operating frequency one can use LPDDR4 Register Programming Aid on link

i.MX8 MSCALE SERIES DDR Tool Release (V2.10)   

and Chapter 4 How to bring up a new MX8M board MX8M_DDR_Tool_User_Guide.docx

included in i.MX8M ddr test package

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

7 Replies
3,194 Views
igorpadykov
NXP Employee
NXP Employee

Hi Nirmal

for selecting LPDDR4 operating frequency one can use LPDDR4 Register Programming Aid on link

i.MX8 MSCALE SERIES DDR Tool Release (V2.10)   

and Chapter 4 How to bring up a new MX8M board MX8M_DDR_Tool_User_Guide.docx

included in i.MX8M ddr test package

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

3,193 Views
nirmalluhana
Contributor IV

Hello Igor,

I have updated RPA (Register Programming Aid) to change LPDDR4 operating frequency and as per DDR stress tool log console, it shows updated LPDDR4 operating frequency.

But, I want to check it on EVK board its actual updates or not.

For, that I have followed below procedures.

1) Stop board boot-up at u-boot level & send clocks command. It shows the different type of frequencies but nothing mention for LPDDR4.

2) I have found some Linux utilities (dmidecode or lshw) which are worked in Ubuntu OS. And I have added both these recipes in my image.

   * dmidecode --type 17 (This command getting Bus error)

   * lshw -short -C memory (This command shows only memory size instead of other information as shown in Ubuntu OS)

So, is there any way to verify LPDDR4 operating frequency? or any commands available for that?

Best regards,

Nirmal

0 Kudos
3,193 Views
igorpadykov
NXP Employee
NXP Employee
3,193 Views
nirmalluhana
Contributor IV

Hello Igor,

Thanks for your quick response.

I have tried dump-clocks.sh from the above link and output as below.

root@imx8mqevk:~# ./dump-clocks.sh | grep dram
dram_pll1_ref_sel           ---                   000000a2      1      1   25000000
dram_pll1_ref_div           ---                   00000025      1      1   25000000
dram_pll1                   ---                   00000041      1      1 2000000000
dram_pll2                   ---                   00000041      1      1  800000000
dram_pll1_out_div           ---                   00000025      1      1   66666667
dram_pll2_div               ---                   00000025      1      1  800000000
dram_pll1_out               ---                   000000a2      1      1 2000000000
dram_pll2_out               ---                   000000a2      1      1  800000000
dram_pll_out                ---                   00000024      1      1  800000000
dram_alt_src                ---                   000010a0      0      0  250000000
dram_core_clk               ---                   000010a0      1      1  800000000
dram_apb_src                ---                   000010a0      1      1  800000000
dram_alt_cg                 ---                   00001024      0      0  250000000
dram_apb_cg                 ---                   00001024      1      1  800000000
dram_alt_pre_div            ---                   00001025      0      0  250000000
dram_apb_pre_div            ---                   00001020      1      1  200000000
dram_alt_div                ---                   00001025      0      0  250000000
dram_apb_div                ---                   00001025      1      1  200000000
dram_alt_root               ---                   00000024      0      0   62500000

From, that output I am not able to verify LPDDR4 actual operating frequency.

1) There is another way to do the same?

2) Can you provide the information for iMX8MQ EVK board's LPDDR4 by default working on which operating frequency?

As I have updated RPA for 800 MHz frequency and generated ddr_init.c & ddrphy_train.c files which are replaced with existing one in u-boot and created new sd card image. But, by using that new sd card image EVK board doesn't boot-up and stuck after u-boot as below logs.

U-Boot SPL 2017.03-imx_v2017.03_4.9.51_imx8m_ga+g2537522 (Mar 19 2019 - 19:26:13)                   
PMIC:  PFUZE100 ID=0x10                                                                             
check ddr4_pmu_train_imem code                                                                      
check ddr4_pmu_train_imem code pass                                                                 
check ddr4_pmu_train_dmem code
check ddr4_pmu_train_dmem code pass
Training PASS
check ddr4_pmu_train_imem code
check ddr4_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr4_pmu_train_dmem code pass
Training PASS
check ddr4_pmu_train_imem code
check ddr4_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr4_pmu_train_dmem code pass
Training PASS
Normal Boot
Trying to boot from MMC2

3) So, the procedure I have followed to change LPDDR4 operating frequency is correct? or I have done a mistake?

It is very helpful if you provide more information on these queries.

Best regards,

Nirmal

0 Kudos
3,193 Views
igorpadykov
NXP Employee
NXP Employee

Hi Nirmal

dram_core_clk               ---                   000010a0      1      1  800000000

"dram_core_clk=800" means DRAM Clock=1600 (DDRC PHY PLL multiplies the input

frequency by 2 to generate the DDR clock), Data Rate=3200.

Also one can try to measure clock frequency with oscilloscope, use Demo Images from link

i.MX Software | NXP 

i.MX8M EVK schematic

Schematics
Design Files for the i.MX 8M Evaluation Kit (EVK)(REV 0)
i.MX 8M Evaluation Kit | NXP 

May be useful to check AN12118 i.MX 8M Quad Power Consumption Measurement

https://www.nxp.com/docs/en/nxp/application-notes/AN12118.pdf 

Best regards
igor

3,193 Views
nirmalluhana
Contributor IV

Thanksigorpadykov,

Appreciate your support.

 

Regards,

Nirmal

0 Kudos
3,193 Views
nirmalluhana
Contributor IV

Thanks igorpadykov,

Appreciate your support.

Regards,

Nirmal

0 Kudos