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 <m...@semihalf.com>
---
 Silicon/Marvell/Include/Library/MvGpioLib.h                                    
   | 1 +
 Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c  
   | 4 ++++
 Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c  
   | 6 ++++++
 
Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
 | 1 +
 4 files changed, 12 insertions(+)

diff --git a/Silicon/Marvell/Include/Library/MvGpioLib.h 
b/Silicon/Marvell/Include/Library/MvGpioLib.h
index 6ca9e79..35d979d 100644
--- a/Silicon/Marvell/Include/Library/MvGpioLib.h
+++ b/Silicon/Marvell/Include/Library/MvGpioLib.h
@@ -47,6 +47,7 @@ typedef struct {
 } MV_GPIO_DEVICE_PATH;
 
 typedef struct {
+  MV_GPIO_DRIVER_TYPE  ControllerType;
   UINTN    ControllerId;
   UINTN    PinNumber;
   BOOLEAN  ActiveHigh;
diff --git 
a/Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c 
b/Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
index 554155e..92a14bb 100644
--- 
a/Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
+++ 
b/Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
@@ -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,
diff --git 
a/Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c 
b/Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
index 804339f..cde73dd 100644
--- 
a/Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
+++ 
b/Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
@@ -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,
diff --git 
a/Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
 
b/Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
index c9e8872..f4e7246 100644
--- 
a/Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
+++ 
b/Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
@@ -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,
-- 
2.7.4


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41068): https://edk2.groups.io/g/devel/message/41068
Mute This Topic: https://groups.io/mt/31686567/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to