We have a platform loosely based on the XK-AUDIO-216-MC-AB, so using the XE216-512-TQ128, and we'd like to use port 8A on tile 1 as 8 output pins to drive PWM signals on LEDs. The issue is that, using the USB Audio 2.0 software 6.15.2, adding the following line:
Code: Select all
out port p_gpio_pwm_leds = on tile[1] : XS1_PORT_8A;
xmap: Error: Symbol p_gpio_pwm_leds is a duplicate port declaration. xmap: Error: previously declared as p_usb_txd.
And, indeed, in XUD_Ports.xc in module_xud:
Code: Select all
out buffered port:32 p_usb_txd = PORT_USB_TXD;
According to the documentation of the XUD library:
This document does not mention the X200 series, but the code of the XUD library is clearly based on this rule. However, the XK-AUDIO-216-MC-AB board uses some of the corresponding pins, as well as other pins reserved by the XUD library, but through smaller ports:The U-Series of devices have an integrated USB transceiver. Some ports are used to communicate with the USB transceiver inside the U-Series packages. These ports/pins should not be used when USB functionality is enabled.
- not wired to a package pin, or undocumented pin connection: PORT_USB_TX_READYIN on port 1H
- not wired to a package pin, or undocumented pin connection: PORT_USB_CLK on port 1J
- not wired to a package pin, or undocumented pin connection: PORT_USB_TX_READYOUT on port 1K
- not wired to a package pin, or undocumented pin connection: PORT_USB_RX_READY on port 1I
- not wired to a package pin, or undocumented pin connection: PORT_USB_FLAG0 on port 1E
- not wired to a package pin, or undocumented pin connection: PORT_USB_FLAG1 on port 1F
- not wired to a package pin, or undocumented pin connection: PORT_USB_FLAG2 on port 1G
- pins X1D02 to X1D09: PORT_USB_TXD on port 8A shared with ETH_RST and INT, unused by the software, and BUTTON_[1..3] and SWITCH_1, used as GPIO inputs by hidbuttons.xc and ea_protocol_demo.xc through port 4B
- pins X1D14 to X1D21: PORT_USB_RXD on port 8B shared with LED_{ROW,COL}_[0..3] used as GPIO outputs by ea_protocol_demo.xc through ports 4C and 4D
All this is contradictory and confusing. Could someone clearly say if and how these pins can be safely used as GPIOs with the USB functionality enabled? Is it not at all, or only through ports of different sizes, or in some other way? Can the ports reserved by the XUD library be freed, or can other ports be used instead?
Thanks in advance.