Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > GPIF II 32 bit, UART and GPIO

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



GPIF II 32 bit, UART and GPIO
Moderator:
RSKV

Post Reply
Follow this topic



GPIF II 32 bit, UART and GPIO

BennyM posted on 22 May 2012 7:15 AM PST

1 Forum Post

Hello,

we want to use GPIF II in 32bit mode in combination with UART. Is it possible to use the I2S pins as GPIO? The table on page 33 in Rev K datasheet doesn't show that this is possible, if I look at the column "GPIF II - 32 (FX3) + UART + I2S".

If yes, is it furthermore possible to use UART RX and TX, but the RTS (GPIO 53) and CTS (GPIO 54) pins as GPIO?

Thanks in advance

 Benny




Re: GPIF II 32 bit, UART and GPIO

dreitz posted on 22 May 2012 01:04 PM PST
Top Contributor
74 Forum Posts

Yes....both are possible.  "GPIF II - 32 (FX3) + UART + I2S" means that those devices are available, but you can override the GPIO lines.

Here's an example where I do a simple override of an  unused GPIF control signal.

/* Override GPIO 25 as this pin is associated with GPIF Control signal.

* The IO cannot be selected as GPIO by CyU3PDeviceConfigureIOMatrix call

* as it is part of the GPIF IOs. Override API call must be made with

* caution as this will change the functionality of the pin. If the IO

* line is used as part of GPIF and is connected to some external device,

* then the line will no longer behave as a GPIF IO.. Here CTL4 line is

* not used and so it is safe to override. */

apiRetStatus =

CyU3PDeviceGpioOverride (25, CyTrue);if (apiRetStatus != 0)/* Error Handling */

DebugPrint (4,

apiRetStatus);

SetErrorCode(ERROR_GPIO_OVERRIDE25);

CyFxAppErrorHandler(apiRetStatus);

}

 

 

"CyU3PDeviceGpioOverride failed, error code = %d\n",/* Configure GPIO 25 as output */

gpioConfig.

gpioConfig.

gpioConfig.

gpioConfig.

gpioConfig.

apiRetStatus =

 

{

 

outValue = CyFalse;driveLowEn = CyTrue;driveHighEn = CyTrue;inputEn = CyFalse;intrMode = CY_U3P_GPIO_NO_INTR;CyU3PGpioSetSimpleConfig(25, &gpioConfig);if (apiRetStatus != CY_U3P_SUCCESS)/* Error handling */

DebugPrint (4,

apiRetStatus);

SetErrorCode(ERROR_GPIO_CONFIG25);

CyFxAppErrorHandler(apiRetStatus);

}

"CyU3PGpioSetSimpleConfig failed, error code = %d\n",

 

{

 






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.