i.MX6 Solo Low frequency hang

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

i.MX6 Solo Low frequency hang

755 Views
MasakiHayakawa
Contributor III

Hi,

Our system is the fllowing in details
・i.MX6Solo custom board
・BSP version is imx-yocto-L4.14.78_1.0.0_ga
・DDR3 name is MT41K256M16TW-093-P

Our system is hang when low frequency mode enables.
After busfreq driver is disable, Our system is work.

To disable the bus frequency driver, use the following command:
# echo 0 > /sys/bus/platform/drivers/imx_busfreq/soc\:busfreq/enable

This hang cause is two patterns.
source:arch/arm/mach-imx/ddr3_freq_imx6.S
function:mx6_ddr3_freq_change

Pttern1
After DDR3 is at 24 MHz, DDR3 setting changes the following

ldr r0, =0x00018031
str r0, [r5, #MMDC0_MDSCR]

ldr r0, =0x00018039
str r0, [r5, #MMDC0_MDSCR]

ldr r0, =0x08208030
str r0, [r5, #MMDC0_MDSCR]

ldr r0, =0x08208038
str r0, [r5, #MMDC0_MDSCR]

ldr r0, =0x00088032
str r0, [r5, #MMDC0_MDSCR]

ldr r0, =0x0008803A
str r0, [r5, #MMDC0_MDSCR]

Pttern2

1073 line
/* flush the TLB */
ldr r6, =0x0
mcr p15, 0, r6, c8, c3, 0

dsb
isb

This hang is i.MX6Solo only problem or errata ?
Because i.MX6DL sabresd is work.

Best Regards

0 Kudos
2 Replies

747 Views
igorpadykov
NXP Employee
NXP Employee

Hi MasakiHayakawa

 

issue may be caused by mmdc settings, one can run latest ddr test and use RPA tool

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX6ULL-LPDDR2-Script-Aid/ta-p/1121785

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-6-7-DDR-Stress-Test-Tool/ta-p/11082...

then update image (uboot dcd header below), use nxp uboot/linux from

source.codeaurora.org/external/imx repository

https://source.codeaurora.org/external/imx/uboot-imx/tree/board/freescale/mx6sabresd/mx6solo_4x_mt41...

 

Best regards
igor

0 Kudos

732 Views
MasakiHayakawa
Contributor III

Hi igor,

Thank you for your reply, the hang problem was solved.
MMDC0_MDREF was wrong setting.

wrong setting
0x21b0020 0x00007800

correct setting
0x21b0020 0x00005800

We changed tREFI from 3.9μs to 7.8μs.

Thanks

0 Kudos