cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
163 Views
Registered: ‎02-20-2020

Routing SD Card Detect and Write Protect signals to any MIO on ZynqMP

Jump to solution

Hello,

We have a third party MPSOC Module based on Zynq Ultrascale+ ZCU2CG-1L. We are incorporating this into our design. The MPSOC module has a SD card slot on SD1 peripheral(SD 2.0 mapped to MIO 46-51). In their design they have only routed SD card data, Cmd and CLK lines to the SD card slot but have not routed CD and WP lines.

Because of this it looks like the SD card cannot be automounted by the linux kernel and instead it requires the SD card to be present during boot time. Our application requires hotplug feature where in SD card can be inserted and removed at any point. I believe this would work if we routed card detect line. Also we require SD card to be writeable and also need WP line.

From the vivado design tool we see that CD and WP lines can only be routed to MIO45 and MIO44 lines. But these are not routed by the MPSOC module and hence we cannot use these lines.

Is there a possibility to route CD and WP lines to any other free MIO pins on the module and use the CD and WP functionality. Please let us know how we can achieve this

If not, is there a way in petalinux to auto detect insertion/removal of sd card without use of CD?

 

Best Regards,

Arjun

 

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
89 Views
Registered: ‎10-06-2016

Hi @arjaanda 

It's been a while since last time I tested routing through EMIO but I think you are right, that once you choose EMIO as interface for SD card all the signals are routed through that interface.

Routing through EMIO have it's own disadvantages, i.e. there is no way to boot the device from the interface. But if you need the functionality then is just a trade off.

Regards


Ibai
Don’t forget to reply, kudo, and accept as solution.

View solution in original post

3 Replies
Highlighted
Xilinx Employee
Xilinx Employee
102 Views
Registered: ‎10-06-2016

Hi @arjaanda 

If you take a look to the Table 26-11 of the ZynqMP TRM (UG1085), you will find the routing options of the SD interface signals. In the specific case of the SD1 interface you can see that you have the option of routing both CR and WP through two MIO pins or the EMIO pins.

image.png

If the MIO pins are not available in your module you might consider using the EMIO pins. These are pins routed to the FPGA part, so you will need to drive the signal through the FPGA to one of the I/O pins.

Regarding the card detect feature without any CD signal, the only way I can figure out how that would work is creating a service in your Linux target that is periodically checking the presence of the SD card.

Regards
Ibai


Ibai
Don’t forget to reply, kudo, and accept as solution.
Highlighted
Visitor
Visitor
96 Views
Registered: ‎02-20-2020

Hi @ibaie,

Thank you very much for your reply.

So if I understand you correctly you recommend we route all the SD card lines(including Data, Cmd, Clk) through EMIO interface?

I can see that if we chose EMIO for SD1 interface in vivado then all lines need to be routed through PL fabric. There is no possibility to route CD,WP lines as EMIO lines but keep other signals on MIO.

Best Regards,

Arjun

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
90 Views
Registered: ‎10-06-2016

Hi @arjaanda 

It's been a while since last time I tested routing through EMIO but I think you are right, that once you choose EMIO as interface for SD card all the signals are routed through that interface.

Routing through EMIO have it's own disadvantages, i.e. there is no way to boot the device from the interface. But if you need the functionality then is just a trade off.

Regards


Ibai
Don’t forget to reply, kudo, and accept as solution.

View solution in original post