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: 
Contributor
Contributor
923 Views
Registered: ‎02-22-2008

How to determine which GPIO a pin is connected to (specifically the user LEDs on ZCU104)

Jump to solution

How does one go about determine PS GPIO to pin mapping. It is relativity straight forward with respect to AXI GPIO devices. But the PS GPIOs are a bit of a mystery to me. 

On the ZCU104 the user LEDs are connected to D5, D6, A5, and B5. But I can't figure out how that maps to EMIO/MIO or any IO. 

0 Kudos
1 Solution

Accepted Solutions
Voyager
Voyager
885 Views
Registered: ‎02-01-2013

Re: How to determine which GPIO a pin is connected to (specifically the user LEDs on ZCU104)

Jump to solution

Oh, God.  I looked at software.  I'm feeling dizzy...

Sorry--I'm not a SW guy--strictly HW. 

That aside, keep in mind that EMIO GPIO 0 (as in: EMIO GPIO 0 through EMIO GPIO 95) is technically PS GPIO 78--since you must leave room for MIO GPIO 0 through MIO GPIO 77.  If PS GPIO 0 (aka MIO GPIO 0) is mapped to 338, then EMIO GPIO 13 would be 338 + 78 + 13 = 429.  I think.

Keep in mind, that's from a HW guy. More trials could be in your future.

-Joe G.

 

Tags (1)
4 Replies
Voyager
Voyager
897 Views
Registered: ‎02-01-2013

Re: How to determine which GPIO a pin is connected to (specifically the user LEDs on ZCU104)

Jump to solution

The User LEDs of the ZCU104 are connected to PL pins; they're not connected to dedicated PS (MIO) pins. Their connection (and, therefore, their control) is determined by the particular design. They could be connected to any of the dozens of PS EMIO GPIOs, or the could be connected to AXI GPIOs. You would have to consult the underlying HW design (or its spec).

In general, the PS can export up to 96 GPIOs to the PL as EMIOs. Those pins are controlled by PS GPIO banks 3 through 5. See the online Zynq+ register reference (GPIO Module) for details:

https://www.xilinx.com/html_docs/registers/ug1087/ug1087-zynq-ultrascale-registers.html

-Joe G.

 

Contributor
Contributor
889 Views
Registered: ‎02-22-2008

Re: How to determine which GPIO a pin is connected to (specifically the user LEDs on ZCU104)

Jump to solution

Thank for you for the response. I placed a slice block to slice 13-15 from the emio signals. I then ampped the outputs in the XDC file:

# User LEDs
set_property PACKAGE_PIN D6 [get_ports {leds[0]}]
set_property PACKAGE_PIN A5 [get_ports {leds[1]}]
set_property PACKAGE_PIN B5 [get_ports {leds[2]}]

set_property IOSTANDARD LVCMOS33 [get_ports {leds[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {leds[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {leds[2]}]

Then in Linux I "should" be able to export the gpio. If I read this page (https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842398/Linux+GPIO+Driver) correctly, I should be able to export 338 + 13 = 351, 352, and 353 to control the LEDs. 

When I do that I still can't get the LEDs to turn on. Am I missing something?

0 Kudos
Voyager
Voyager
886 Views
Registered: ‎02-01-2013

Re: How to determine which GPIO a pin is connected to (specifically the user LEDs on ZCU104)

Jump to solution

Oh, God.  I looked at software.  I'm feeling dizzy...

Sorry--I'm not a SW guy--strictly HW. 

That aside, keep in mind that EMIO GPIO 0 (as in: EMIO GPIO 0 through EMIO GPIO 95) is technically PS GPIO 78--since you must leave room for MIO GPIO 0 through MIO GPIO 77.  If PS GPIO 0 (aka MIO GPIO 0) is mapped to 338, then EMIO GPIO 13 would be 338 + 78 + 13 = 429.  I think.

Keep in mind, that's from a HW guy. More trials could be in your future.

-Joe G.

 

Tags (1)
Contributor
Contributor
837 Views
Registered: ‎02-22-2008

Re: How to determine which GPIO a pin is connected to (specifically the user LEDs on ZCU104)

Jump to solution
You are correct with the pin number. I sure do miss my simple Cortex M4s.....
0 Kudos