Merge pull request #11765 from yarbcy/pr/dev-arm-issue-11643

Cypress: fix GPIO mode NONE
pull/11785/head
Martin Kojtal 2019-10-31 09:59:28 +01:00 committed by GitHub
commit 0744e672ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 1 deletions

View File

@ -23,7 +23,7 @@
#include "cybsp_types.h" #include "cybsp_types.h"
// Pin Modes // Pin Modes
#define PullNone CYHAL_GPIO_DRIVE_STRONG #define PullNone CYHAL_GPIO_DRIVE_PULL_NONE
#define PullDefault CYHAL_GPIO_DRIVE_NONE #define PullDefault CYHAL_GPIO_DRIVE_NONE
#define PullDown CYHAL_GPIO_DRIVE_PULLDOWN #define PullDown CYHAL_GPIO_DRIVE_PULLDOWN
#define PullUp CYHAL_GPIO_DRIVE_PULLUP #define PullUp CYHAL_GPIO_DRIVE_PULLUP

View File

@ -79,6 +79,7 @@ typedef enum {
CYHAL_GPIO_DRIVE_OPENDRAINDRIVESHIGH, /**< Open-drain, Drives High */ CYHAL_GPIO_DRIVE_OPENDRAINDRIVESHIGH, /**< Open-drain, Drives High */
CYHAL_GPIO_DRIVE_STRONG, /**< Strong output */ CYHAL_GPIO_DRIVE_STRONG, /**< Strong output */
CYHAL_GPIO_DRIVE_PULLUPDOWN, /**< Pull-up and pull-down resistors */ CYHAL_GPIO_DRIVE_PULLUPDOWN, /**< Pull-up and pull-down resistors */
CYHAL_GPIO_DRIVE_PULL_NONE, /**< No Pull-up or pull-down resistors */
} cyhal_gpio_drive_mode_t; } cyhal_gpio_drive_mode_t;
/** GPIO callback function type */ /** GPIO callback function type */

View File

@ -105,6 +105,16 @@ static uint32_t cyhal_gpio_convert_drive_mode(cyhal_gpio_drive_mode_t drive_mode
case CYHAL_GPIO_DRIVE_PULLUPDOWN: case CYHAL_GPIO_DRIVE_PULLUPDOWN:
drvMode = CY_GPIO_DM_PULLUP_DOWN; drvMode = CY_GPIO_DM_PULLUP_DOWN;
break; break;
case CYHAL_GPIO_DRIVE_PULL_NONE:
if (direction == CYHAL_GPIO_DIR_OUTPUT || direction == CYHAL_GPIO_DIR_BIDIRECTIONAL)
{
drvMode = CY_GPIO_DM_STRONG;
}
else
{
drvMode = CY_GPIO_DM_HIGHZ;
}
break;
default: default:
CY_ASSERT(false); CY_ASSERT(false);
drvMode = CY_GPIO_DM_HIGHZ; drvMode = CY_GPIO_DM_HIGHZ;