UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor andystevens
Visitor
7,976 Views
Registered: ‎04-25-2016

"mmc0: Timeout waiting for hardware interrupt" during kernel startup when console pins are floating

Has anyone ever seen a problem with accessing a MMC device when the UART console pin (specifically the receive data input) is floating?

ZC02 running on a custom board, booting from QSPI, if the RX pin of the UART console is pulled up (either by a cable or internal pull-up on MIO pin), everything starts up okay. Not so if the pin is foating and kernel messages are being transmitted. Attached is an example log of messages seen (RX pin disconnected from console cable). Issue seems to occur around the "INIT: version 2.88 booting" post. Messages prior to this point when RX pin is pulled up are the same.

0 Kudos
2 Replies
Highlighted
Participant pete_128
Participant
7,969 Views
Registered: ‎04-02-2016

Re: "mmc0: Timeout waiting for hardware interrupt" during kernel startup when console pins are floating

Hi,

 

Don't have hard facts here but the floating pin may be causing a flood of interrupts if it pulls the wrong way to a recieving state.

 

Easiest solution would be to pinout the RX pin to EMIO and just pull it up in FPGA fabric. (I assumy you board has that MIO floating?). I think the MIO pin mux allows this.

 

Alternatively, you could hack the UART driver to knock out the RX UART path completely.

0 Kudos
Visitor andystevens
Visitor
7,954 Views
Registered: ‎04-25-2016

Re: "mmc0: Timeout waiting for hardware interrupt" during kernel startup when console pins are floating

Enabling the internal pull-up on the the MIO pin being used for the RX data or pulling up this pin externally does get us pass this issue and the system starts up normally. I'm just wondering what the connection between the UART and SDIO controllers would be.

 

This pin floats low when not connected to anything, and I could see how transistions on the TX output of the UART from the kernel messages could couple into the UART input through the MIO pin multiplexers and cause interrupts, so it's possible that this could be the root of the problem.

 

Thanks!

 

0 Kudos