i.MX 6SoloX M4 boot breaks USB PHY

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

i.MX 6SoloX M4 boot breaks USB PHY

1,865 Views
lucan_degroot
Contributor I

Dear sir, madam,

If we boot the M4 with the bootaux command documented in the user guide the USB on our product breaks. We get the following error messages in our log:

stmp_reset_block(a0022030): module reset timeout
ci_hdrc ci_hdrc.0: unable to init phy: -110
[...]
ci_hdrc: probe of ci_hdrc.0 failed with error -110
[...]
udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
It appears that the function stmp_reset_block is called with a incorrect base address. However, the base address is correctly reported in the dtb. Also, why would this only fail when the M4 boots?
However, I was unable to track down what the error -110 means, what causes it and how I can solve it. The problem does not occur if I comment the 
clrsetbits_le32(SRC_BASE_ADDR + SRC_M4_REG_OFFSET,
SRC_M4C_NON_SCLR_RST_MASK, SRC_M4_ENABLE_MASK);
line in the U-Boot bootaux command.
The problem does still occur if I load a empty binary on the M4, which means that the code it's executing does not cause the problem.
The reference manual does not mention that the M4 is claiming any resources when it boots, but that's the only explanation I can think of.
Regards,
Lucan
Labels (2)
0 Kudos
11 Replies

1,500 Views
lucan_degroot
Contributor I

Why is it 'ASSUMED ANSWERED'' when I haven't even received a reply?

0 Kudos

1,500 Views
TomE
Specialist II

> Why is it 'ASSUMED ANSWERED'' when I haven't even received a reply?

I think it is part of NXP's KPI system. They get "brownie points" for making that thing go on. It is unrelated to how you feel about the problem. They can't change the way this works, but they HAVE found a way for you to get around it. Details of the weird hack here:

What is setting "Assumed Answered" and how do I revert it? 

Tom

0 Kudos

1,500 Views
igorpadykov
NXP Employee
NXP Employee
0 Kudos

1,500 Views
lucan_degroot
Contributor I

Hi thanks for the instructions. However, these instructions say to run m4boot, which runs bootaux and everything breaks when I run bootaux. 

I've checked the source code of the bootaux commando and it only resets and starts the M4. Is there more to it? Because in the datasheet it's mentioned that the A9 should also enable the M4 clock.

0 Kudos

1,500 Views
igorpadykov
NXP Employee
NXP Employee

could you please clarify what bsp and board used in the case and provide any logs.

May be useful to check AN5127 How to Run  the MQX™ RTOS on Various RAM Memories for i.MX 6SoloX

https://www.nxp.com/docs/en/application-note/AN5127.pdf 

>However, these instructions say to run m4boot, which runs bootaux and everything breaks when I run bootaux. 

please provide steps how this issue can be reproduced on NXP i.MX6SX Sabre SD reference board with

Demo Images from below link

i.MX Software | NXP 

Best regards
igor

0 Kudos

1,500 Views
lucan_degroot
Contributor I

Hi,

We are using the i.MX 6SoloX (MCIMX6X4EVM10AB), we are using the BSP provided by Freescale when we started developing the product. I have attached two logs to the main post, one is with the bootaux command, the other is without.

0 Kudos

1,500 Views
igorpadykov
NXP Employee
NXP Employee

from logs you are using Linux version 4.9.67 which is not supported by NXP.

Please try with latest offical linux nxp release from offical source.codeaurora.org/external/imx/linux-imx/ repository:

linux-imx - i.MX Linux kernel 

uboot-imx - i.MX U-Boot 

Linux documentation
https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/i.mx-6ser...

Best regards
igor

0 Kudos

1,500 Views
lucan_degroot
Contributor I

We are currently upgrading Linux to 4.9.88 (from the linked repo). We are also upgrading to the corresponding U-Boot. Is that sufficient, or should we upgrade to the most recent master? Because I'm afraid that doing a major version upgrade is too time consuming

0 Kudos

1,500 Views
igorpadykov
NXP Employee
NXP Employee

recommended  Linux 4.14.98, it is latest official nxp linux release Linux L4.14.98_2.0.0 Documentation

linux-imx - i.MX Linux kernel 

use sect.2.8.5 Running i.MX RPMsg Test Programs attached Linux Manual, rpmsg unit test

rpmsg\test - imx-test - i.MX Driver Test Application Software 

Best regards
igor

0 Kudos

1,500 Views
igorpadykov
NXP Employee
NXP Employee

Hi Lucan

what board and bsp used in the case, one can try with NXP i.MX6SX Sabre SD reference board

and Demo Images from

i.MX Software | NXP 

recommended to try with nxp software from source.codeaurora.org/external/imx/uboot-imx repository:

uboot-imx - i.MX U-Boot 

For debugging one can check if usb clocks are enabled in CCM_CCGR6 register and RDC

permissions (it is described in Chapter 52 Resource Domain Controller (RDC) i.MX6SX Reference Manual).

Also one can consider to start M4 from Linux using

m4ctrl - M4 Control Tool for i.MX platforms 

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

0 Kudos

1,500 Views
lucan_degroot
Contributor I

m4ctrl - M4 Control Tool for i.MX platforms

The documentation for this tool says that it's meant for the i.mx8, it makes no mention of the i.mx6. Does it support the i.mx 6SoloX?

0 Kudos