cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
joseer
Voyager
Voyager
664 Views
Registered: ‎07-06-2016

petalinux doesn't boot with uart-usb unplugged

Jump to solution

Hello, 

I'm working with a custom board Zynq Ultrascale+ based running petalinux 2018.3.

In my application I need to reduce the booting time as much as possible but like in this post: https://forums.xilinx.com/t5/Embedded-Linux/Disabling-PHY-auto-negotiation/td-p/435288 I'd like to get rid of the "PHY auto negotiation"  because it consumes ~15s not necessary for my application. 

I found how to avoid the auto negotiation editing u-boot running: "petalinux-config -c u-boot-xlnx" and disabling "Xilinx Ethernet GEM":

Capture.JPG
 

Petalinux boots faster now while I have the uart connected (usb-uart cable plugged in) and obviously I can see it in the console using TeraTerm.

Just to clarify the uart-usb cable is an externarl ftdi chip which plugs into the board through a custom connector.

The problem is that if I disconnect the "uart cable" petalinux doesn't boot, and I don't understand the relation between the change I've done (disable PHY auto negotiation) and the fact it doesn't boot when the uart is disconnected,

Any ideas why is this happening?

Thanks in advance.

 

0 Kudos
1 Solution

Accepted Solutions
barco2
Adventurer
Adventurer
636 Views
Registered: ‎02-13-2009

Hi,

most likely you forgot to add a pulldown to your UART input pin. When you unplug the USB cable, the USB UART is probably not powered anymore (assuming you have connected it to USB power). Then the UART RX picks up noise which i turn lets u-boot stop auto-booting and enter interactive mode.

Either add a pulldown to your UART input or make u-boot ignore the input by setting CONFIG_BOOTDELAY=-2

Cheers
Martin

View solution in original post

3 Replies
barco2
Adventurer
Adventurer
637 Views
Registered: ‎02-13-2009

Hi,

most likely you forgot to add a pulldown to your UART input pin. When you unplug the USB cable, the USB UART is probably not powered anymore (assuming you have connected it to USB power). Then the UART RX picks up noise which i turn lets u-boot stop auto-booting and enter interactive mode.

Either add a pulldown to your UART input or make u-boot ignore the input by setting CONFIG_BOOTDELAY=-2

Cheers
Martin

View solution in original post

joseer
Voyager
Voyager
552 Views
Registered: ‎07-06-2016

Hi @barco2 , 

Thanks for your answer, yes that's right the pull-ups are missing in my design (I can add them easily) but I've changed the CONFIG_BOOTDELAY to -2 and now it boots with the uart-usb cable disconnected (when the Xilinx Ethernet GEM is disabled).

If the problem is the uart port noise, do you know why it boots regardless the uart cable status, when the Xilinx Ethernet GEM is enable? 

0 Kudos
barco2
Adventurer
Adventurer
538 Views
Registered: ‎02-13-2009

Hi @joseer ,

I can only guess, that you have somewhat different noise levels depending on the GEM state. But if it comes to noise usually things get pretty odd and undeterministic. It could also be a different boot timing and thus in one case u-boot looks for keystrokes just in the wrong time window...

Cheers
Martin