Serial Download - is otg REQUIRED?

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

Serial Download - is otg REQUIRED?

2,365 Views
trycatch
Contributor II

I'm trying to program an imx6s over serial download mode, however I'm having no success getting my machine to recognize the device..  in Windows, the VID/PID is 0x0000 / 0x0000 and it's just "unknown device".  In Linux, the following appears in dmesg:

[  881.659326] usb 5-2: new low-speed USB device number 2 using ohci-pci

[  881.799161] usb 5-2: device descriptor read/64, error -62

[  882.042878] usb 5-2: device descriptor read/64, error -62

[  882.282602] usb 5-2: new low-speed USB device number 3 using ohci-pci

[  882.422439] usb 5-2: device descriptor read/64, error -62

[  882.666160] usb 5-2: device descriptor read/64, error -62

[  882.905880] usb 5-2: new low-speed USB device number 4 using ohci-pci

[  883.313392] usb 5-2: device not accepting address 4, error -62

[  883.449250] usb 5-2: new low-speed USB device number 5 using ohci-pci

[  883.856760] usb 5-2: device not accepting address 5, error -62

[  883.856789] hub 5-0:1.0: unable to enumerate USB device on port 2

On this board, we have not brought USBOTG out to the microusb, only USB-UART.  Will the serial-downloader not work over USB-UART alone?

Labels (4)
0 Kudos
13 Replies

1,545 Views
sinanakman
Senior Contributor III

Trycatch, if you have a working JTAG connection, would you be able to initialize the ram and run a version of u-boot to program your NAND ?

1,545 Views
trycatch
Contributor II

Sinan,

Would you be able to guide a bit in getting u-boot into memory and executed?  You sound as though you've done this sort of thing before, and whenever I try, it doesn't seem to get very far before falling into boot ROM address space.  I'm not sure if my u-boot is just horribly malformed or I'm just trying to execute it really, really wrong.  Given I'm a JTAG lightweight, the latter is a very distinct possibility.  :smileyhappy:

0 Kudos

1,545 Views
sinanakman
Senior Contributor III

Hi Trycatch, I do this routinely with some of the powerpc based SoCs but haven't done it yet for iMX6. The process would essentially require to have all your ddr initialization as part of your JTAG init script and then create a version of uboot that would work with ddr and other parts of system already initialized which normally uboot would do itself. Then it is matter of running the initialization after reset using your JTAG probe and then load that ram version of uboot to ram and run it from there. If you need further help please let me know. As chipexpert suggested create a new thread if you need to and I will keep an eye on that new thread as well. Can you please also tell me what JTAG probe you are using.

Regards

Sinan Akman

0 Kudos

1,545 Views
trycatch
Contributor II

That is certainly a thought, now that I've realized that I've been wrong about the flash type, as it's managed (eMMC) rather than just raw NAND.

0 Kudos

1,545 Views
igorpadykov
NXP Employee
NXP Employee

Hi trycatch

unfortunately i.mx6 works only through USBOTG

module over serial download mode.

Best regards

chip

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,545 Views
trycatch
Contributor II

Chipexpert,

Thanks for the fast reply.  :smileyhappy:

That's unfortunate (for us, since we didn't think to build OTG into the design.)  Is using a JTAG to do the initial programming our only option to do the initial NAND programming from here?

Thanks,

tc

0 Kudos

1,545 Views
igorpadykov
NXP Employee
NXP Employee

Hi trycatch

again, unfortunately Freescale does not support

for i.mx6 NAND programming with jtag.

In general this task is not trivial job.

Best regards

chip

0 Kudos

1,545 Views
trycatch
Contributor II

chipexepert,

Hm, it appears we've made a pretty serious oversight on this initial PCB run.  Do you have any recommendations as to what we could do to get the NAND programmed?  Or get it booting in any way?

Thanks for your help and in advance for any further help you can offer,

tc

0 Kudos

1,545 Views
igorpadykov
NXP Employee
NXP Employee

Hi trycatch

for booting from NAND it should be programmed

with kobs-ng tool. kobs-ng runs only under linux and

uses sophisticated algorithms.

With jtag you can program NAND blocks with binary data, check

uboot_mx6x.pdf in Doc bundle below

L3.0.35_4.1.0_LINUX_DOCS

However with Uboot, one can not program bootable NAND image.

Best regards

chip

0 Kudos

1,545 Views
trycatch
Contributor II

chipexpert,

Sorry for the delay in my response.

I'm a bit confused by your response.  Previously you said:

"Freescale does not supportfor i.mx6 NAND programming with jtag"

But now you're saying it can be done via kobs-ng?

It occurs to me that I believe I have been mis-speaking; the NAND is not raw but managed, so I will need to write to eMMC, if this makes it any easier to program over JTAG.  Sinan Akman's suggestion may work as well, programming u-boot into the RAM and booting it, then programming the MMC from within u-boot.

0 Kudos

1,545 Views
igorpadykov
NXP Employee
NXP Employee

trycatch

kobs-ng is different from jtag, isn't it ?

yes, one can do programming the MMC from within u-boot.

programming eMMC with jtag you can with SDK (there is mmc test).

"MX6_PLATFORM_SDK "

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&nodeId=018rH3ZrDRB24A&fpsp=1&t...

Best regards

chip

1,545 Views
trycatch
Contributor II

chip,

Is there any sort of guide for porting the SDK obds to a new board?  (Or how to execute it?  I'm a bit new to actually trying to run things directly from the JTAG..)  I've built it using the output of our iomux tool and a little bit of manual tweaking (based off a clone of the sabre board), but when I load it into memory, point the PC at it, and go, it falls back into boot ROM address space.  I've either compiled this wrong or I'm calling it from the JTAG incorrectly, do you have any suggestions?

0 Kudos

1,545 Views
igorpadykov
NXP Employee
NXP Employee

Hi trycatch

"When all else fails, read the instructions." [Murphy's laws]

Please read SDK documentation.

Also would you be so kind as create new threads for new questions ?

Best regards

chip

0 Kudos