macro_rules! gpio_for_signal {
(XTAL_32K_N $(, $_fallback:literal)?) => { ... };
(LP_GPIO0 $(, $_fallback:literal)?) => { ... };
(XTAL_32K_P $(, $_fallback:literal)?) => { ... };
(LP_GPIO1 $(, $_fallback:literal)?) => { ... };
(LCD_DATA19 $(, $_fallback:literal)?) => { ... };
(LP_GPIO2 $(, $_fallback:literal)?) => { ... };
(LCD_DATA20 $(, $_fallback:literal)?) => { ... };
(LP_GPIO3 $(, $_fallback:literal)?) => { ... };
(LCD_DATA21 $(, $_fallback:literal)?) => { ... };
(LP_GPIO4 $(, $_fallback:literal)?) => { ... };
(LCD_DATA22 $(, $_fallback:literal)?) => { ... };
(LP_GPIO5 $(, $_fallback:literal)?) => { ... };
(LP_GPIO6 $(, $_fallback:literal)?) => { ... };
(LCD_DATA23 $(, $_fallback:literal)?) => { ... };
(LP_GPIO7 $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_TXD0 $(, $_fallback:literal)?) => { ... };
(LCD_DATA0 $(, $_fallback:literal)?) => { ... };
(FSPIHD $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_TXD1 $(, $_fallback:literal)?) => { ... };
(LCD_DATA1 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_CK $(, $_fallback:literal)?) => { ... };
(FSPICS0 $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_TXD2 $(, $_fallback:literal)?) => { ... };
(LCD_DATA2 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_CS $(, $_fallback:literal)?) => { ... };
(FSPID $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_TXD3 $(, $_fallback:literal)?) => { ... };
(LCD_DATA3 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_D $(, $_fallback:literal)?) => { ... };
(FSPICLK $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_TXEN $(, $_fallback:literal)?) => { ... };
(LCD_DATA4 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_Q $(, $_fallback:literal)?) => { ... };
(FSPIQ $(, $_fallback:literal)?) => { ... };
(GMAC_RMII_CLK $(, $_fallback:literal)?) => { ... };
(LCD_DATA5 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_WP $(, $_fallback:literal)?) => { ... };
(FSPIWP $(, $_fallback:literal)?) => { ... };
(GMAC_RX_CLK $(, $_fallback:literal)?) => { ... };
(LCD_DATA6 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_HOLD $(, $_fallback:literal)?) => { ... };
(FSPIIO4 $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_RXDV $(, $_fallback:literal)?) => { ... };
(LCD_DATA7 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_DQ4 $(, $_fallback:literal)?) => { ... };
(FSPIIO5 $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_RXD3 $(, $_fallback:literal)?) => { ... };
(LCD_DATA8 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_DQ5 $(, $_fallback:literal)?) => { ... };
(FSPIIO6 $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_RXD2 $(, $_fallback:literal)?) => { ... };
(LCD_DATA9 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_DQ6 $(, $_fallback:literal)?) => { ... };
(FSPIIO7 $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_RXD1 $(, $_fallback:literal)?) => { ... };
(LCD_DATA10 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_DQ7 $(, $_fallback:literal)?) => { ... };
(FSPIDQS $(, $_fallback:literal)?) => { ... };
(GMAC_PHY_RXD0 $(, $_fallback:literal)?) => { ... };
(LCD_DATA11 $(, $_fallback:literal)?) => { ... };
(DBG_PSRAM_DQS_0 $(, $_fallback:literal)?) => { ... };
(SD1_DATA0 $(, $_fallback:literal)?) => { ... };
(DBG_FLASH_CK $(, $_fallback:literal)?) => { ... };
(SD1_DATA1 $(, $_fallback:literal)?) => { ... };
(DBG_FLASH_D $(, $_fallback:literal)?) => { ... };
(SD1_DATA2 $(, $_fallback:literal)?) => { ... };
(DBG_FLASH_CS $(, $_fallback:literal)?) => { ... };
(SD1_DATA3 $(, $_fallback:literal)?) => { ... };
(DBG_FLASH_Q $(, $_fallback:literal)?) => { ... };
(SD1_CLK $(, $_fallback:literal)?) => { ... };
(DBG_FLASH_WP $(, $_fallback:literal)?) => { ... };
(SD1_CMD $(, $_fallback:literal)?) => { ... };
(DBG_FLASH_HOLD $(, $_fallback:literal)?) => { ... };
(SPICS0 $(, $_fallback:literal)?) => { ... };
(SPIQ $(, $_fallback:literal)?) => { ... };
(SPIWP $(, $_fallback:literal)?) => { ... };
(SPIHD $(, $_fallback:literal)?) => { ... };
(SPICLK $(, $_fallback:literal)?) => { ... };
(SPID $(, $_fallback:literal)?) => { ... };
(LCD_DATA12 $(, $_fallback:literal)?) => { ... };
(USJ_DM $(, $_fallback:literal)?) => { ... };
(LCD_DATA13 $(, $_fallback:literal)?) => { ... };
(USJ_DP $(, $_fallback:literal)?) => { ... };
(REF_GMAC_CLK $(, $_fallback:literal)?) => { ... };
(LCD_DATA14 $(, $_fallback:literal)?) => { ... };
(SD2_CDATA0 $(, $_fallback:literal)?) => { ... };
(LCD_DATA15 $(, $_fallback:literal)?) => { ... };
(SD2_CDATA1 $(, $_fallback:literal)?) => { ... };
(LCD_DATA16 $(, $_fallback:literal)?) => { ... };
(SD2_CDATA2 $(, $_fallback:literal)?) => { ... };
(LCD_DATA17 $(, $_fallback:literal)?) => { ... };
(SD2_CDATA3 $(, $_fallback:literal)?) => { ... };
(LCD_DATA18 $(, $_fallback:literal)?) => { ... };
(SD2_CCLK $(, $_fallback:literal)?) => { ... };
(LCD_PCLK $(, $_fallback:literal)?) => { ... };
(SD2_CCMD $(, $_fallback:literal)?) => { ... };
(ADC1_CH0 $(, $_fallback:literal)?) => { ... };
(LCD_H_ENABLE $(, $_fallback:literal)?) => { ... };
(ADC1_CH1 $(, $_fallback:literal)?) => { ... };
(LCD_H_SYNC $(, $_fallback:literal)?) => { ... };
(ADC1_CH2 $(, $_fallback:literal)?) => { ... };
(LCD_V_SYNC $(, $_fallback:literal)?) => { ... };
(ADC1_CH3 $(, $_fallback:literal)?) => { ... };
(CAM_DATA0 $(, $_fallback:literal)?) => { ... };
(ADC1_CH4 $(, $_fallback:literal)?) => { ... };
(CAM_DATA1 $(, $_fallback:literal)?) => { ... };
(ADC1_CH5 $(, $_fallback:literal)?) => { ... };
(CAM_DATA2 $(, $_fallback:literal)?) => { ... };
(ADC1_CH6 $(, $_fallback:literal)?) => { ... };
(CAM_DATA3 $(, $_fallback:literal)?) => { ... };
(ADC1_CH7 $(, $_fallback:literal)?) => { ... };
(CAM_DATA4 $(, $_fallback:literal)?) => { ... };
(ADC2_CH0 $(, $_fallback:literal)?) => { ... };
(CAM_DATA5 $(, $_fallback:literal)?) => { ... };
(ADC2_CH1 $(, $_fallback:literal)?) => { ... };
(CAM_DATA6 $(, $_fallback:literal)?) => { ... };
(ADC2_CH2 $(, $_fallback:literal)?) => { ... };
(CAM_DATA7 $(, $_fallback:literal)?) => { ... };
(ADC2_CH3 $(, $_fallback:literal)?) => { ... };
(MTDO $(, $_fallback:literal)?) => { ... };
(CAM_PCLK $(, $_fallback:literal)?) => { ... };
(ADC2_CH4 $(, $_fallback:literal)?) => { ... };
(MTCK $(, $_fallback:literal)?) => { ... };
(CAM_XCLK $(, $_fallback:literal)?) => { ... };
(ADC2_CH5 $(, $_fallback:literal)?) => { ... };
(MTDI $(, $_fallback:literal)?) => { ... };
(CAM_V_SYNC $(, $_fallback:literal)?) => { ... };
(ADC2_CH6 $(, $_fallback:literal)?) => { ... };
(MTMS $(, $_fallback:literal)?) => { ... };
(CAM_H_SYNC $(, $_fallback:literal)?) => { ... };
(ADC2_CH7 $(, $_fallback:literal)?) => { ... };
(U0TXD $(, $_fallback:literal)?) => { ... };
(U0RXD $(, $_fallback:literal)?) => { ... };
($_signal:ident, $fallback:literal) => { ... };
}Available on crate feature
_device-selected only.Expand description
Returns the name of the GPIO that provides the given signal, as a string.
The macro takes the name of a direct function - a digital IO MUX function, an analog
function, or an LP IO MUX function - and expands to a string literal like "GPIO4". It
is meant to keep documentation free of per-chip pin lists.
Signals that are not wired to a pad on this chip have to be routed through the GPIO matrix, which can reach any pad. The macro has no pad to return for those, so it accepts an optional fallback to expand to instead. The fallback is not validated.
If multiple pads provide the signal, the macro returns one that is not reserved for some other purpose, such as booting or interfacing with flash.
Example usage:
gpio_for_signal!(ADC1_CH0)gpio_for_signal!(LP_I2C_SDA, "GPIO6")