Marvell/Library: MvGpioLib: Extend GPIO pin description

In order to avoid hardcoding the controller type when using
MV_GPIO_PIN, extend this structure with new according field.
This patch is required to properly handle PCIE slot reset
with the GPIO pin.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
This commit is contained in:
Marcin Wojtas
2019-05-24 17:58:58 +02:00
committed by Ard Biesheuvel
parent 21e36d78dd
commit dfbfdbbf4d
4 changed files with 12 additions and 0 deletions

View File

@@ -23,21 +23,25 @@
STATIC CONST MV_GPIO_PIN mXhciVbusPins[] = {
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_70x0_DB_IO_EXPANDER0,
ARMADA_70x0_DB_VBUS0_PIN,
TRUE,
},
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_70x0_DB_IO_EXPANDER0,
ARMADA_70x0_DB_VBUS0_LIMIT_PIN,
TRUE,
},
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_70x0_DB_IO_EXPANDER0,
ARMADA_70x0_DB_VBUS1_PIN,
TRUE,
},
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_70x0_DB_IO_EXPANDER0,
ARMADA_70x0_DB_VBUS1_LIMIT_PIN,
TRUE,

View File

@@ -23,31 +23,37 @@
STATIC CONST MV_GPIO_PIN mXhciVbusPins[] = {
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_80x0_DB_IO_EXPANDER0,
ARMADA_80x0_DB_VBUS0_PIN,
TRUE,
},
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_80x0_DB_IO_EXPANDER0,
ARMADA_80x0_DB_VBUS0_LIMIT_PIN,
TRUE,
},
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_80x0_DB_IO_EXPANDER0,
ARMADA_80x0_DB_VBUS1_PIN,
TRUE,
},
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_80x0_DB_IO_EXPANDER0,
ARMADA_80x0_DB_VBUS1_LIMIT_PIN,
TRUE,
},
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_80x0_DB_IO_EXPANDER1,
ARMADA_80x0_DB_VBUS2_PIN,
TRUE,
},
{
MV_GPIO_DRIVER_TYPE_PCA95XX,
ARMADA_80x0_DB_IO_EXPANDER1,
ARMADA_80x0_DB_VBUS2_LIMIT_PIN,
TRUE,

View File

@@ -22,6 +22,7 @@
#include "NonDiscoverableInitLib.h"
STATIC CONST MV_GPIO_PIN mXhciVbusPin = {
MV_GPIO_DRIVER_TYPE_SOC_CONTROLLER,
MV_GPIO_CP0_CONTROLLER1,
ARMADA_80x0_MCBIN_VBUS0_PIN,
TRUE,

View File

@@ -47,6 +47,7 @@ typedef struct {
} MV_GPIO_DEVICE_PATH;
typedef struct {
MV_GPIO_DRIVER_TYPE ControllerType;
UINTN ControllerId;
UINTN PinNumber;
BOOLEAN ActiveHigh;