Hi,

This patchset introduces entire infrastructure for using
GPIO on Marvell devices. Finally the USB ports are properly
power-supplied on all currently supported boards.

Main changes are as follows:
- New GPIO protocol for handling basic pins operations. It allows
  very easy usage from consumer perspective.
- An example of it is enabling USB ports' VBUS via newly introduced
  NonDiscoverableInitLib, that abstracts the initialization required
  for non-discoverable devices (see last commit).
- Also Board/SoC description is added for both embedded SoC controllers,
  as well as I2C IO expanders.
- This description is utilized by two new drivers - Armada7k8k GPIO
  controllers and PCA95xx I2C IO expander family.
More detailed explanation can be found in the commit logs.

Patches are available in the github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/gpio-upstream-r20181020

The diffstat may be overwhelming at the first sight, but I made
a really big effort to minimize a risk it turns out to be painful for
reviewers :)
I'm looking forward to the comments and remarks.

Best regards,
Marcin

Marcin Wojtas (10):
  Marvell/Library: ArmadaSoCDescLib: Add GPIO information
  Marvell/Library: ArmadaBoardDescLib: Add GPIO information
  SolidRun/Armada80x0McBin: Introduce board description library
  Marvell/Armada70x0Db: Introduce board description library
  Marvell/Armada80x0Db: Introduce board description library
  Marvell/Drivers: MvBoardDesc: Extend protocol with GPIO support
  Marvell/Drivers: I2c: Use common header for macros
  Marvell/Drivers: MvPca95xxDxe: Introduce I2C GPIO driver
  Marvell/Armada7k8k: Enable GPIO drivers compilation
  Marvell/Armada7k8k: Introduce NonDiscoverable device init routines

jinghua (2):
  Marvell/Protocol: Introduce MARVELL_GPIO_PROTOCOL
  Marvell/Drivers: MvGpioDxe: Introduce platform GPIO driver

 Silicon/Marvell/Marvell.dec                                                    
               |   2 +
 Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc                                  
               |   2 +
 Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc                                 
               |  10 +-
 Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc                                 
               |   6 +
 Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc                          
               |   6 +
 
Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.inf
           |  34 ++
 
Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf 
              |  47 ++
 
Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.inf
           |  34 ++
 
Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf 
              |  48 ++
 
Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.inf
 |  34 ++
 
Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
           |  48 ++
 Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.inf                           
               |   1 +
 Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.inf                           
               |  43 ++
 Silicon/Marvell/Drivers/Gpio/MvPca95xxDxe/MvPca95xxDxe.inf                     
               |  44 ++
 Silicon/Marvell/Drivers/NonDiscoverableDxe/NonDiscoverableDxe.inf              
               |   1 +
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h 
               |  10 +
 Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.h                             
               |  52 ++
 Silicon/Marvell/Drivers/Gpio/MvPca95xxDxe/MvPca95xxDxe.h                       
               |  74 +++
 Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h                          
               |  10 -
 Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h                                
               |  17 +-
 Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h                           
               |  23 +
 Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h                             
               |  15 +
 Silicon/Marvell/Include/Library/NonDiscoverableInitLib.h                       
               |  28 +
 Silicon/Marvell/Include/Protocol/BoardDesc.h                                   
               |   8 +
 Silicon/Marvell/Include/Protocol/MvGpio.h                                      
               | 199 +++++++
 Silicon/Marvell/Include/Protocol/MvI2c.h                                       
               |  31 +
 
Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c
             |  43 ++
 Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c  
               |  99 ++++
 
Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c
             |  50 ++
 Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c  
               | 113 ++++
 
Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.c
   |  36 ++
 
Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
             |  73 +++
 Silicon/Marvell/Applications/EepromCmd/EepromCmd.c                             
               |   5 +-
 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c 
               |  39 ++
 Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c                             
               |  48 ++
 Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.c                             
               | 298 ++++++++++
 Silicon/Marvell/Drivers/Gpio/MvPca95xxDxe/MvPca95xxDxe.c                       
               | 592 ++++++++++++++++++++
 Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c                          
               |   3 +-
 Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c                                
               |   4 +-
 Silicon/Marvell/Drivers/NonDiscoverableDxe/NonDiscoverableDxe.c                
               |   7 +-
 Platform/Marvell/Armada70x0Db/Armada70x0Db.fdf.inc                             
               |   2 +
 Platform/Marvell/Armada80x0Db/Armada80x0Db.fdf.inc                             
               |   2 +
 Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.fdf.inc                      
               |   2 +
 43 files changed, 2205 insertions(+), 38 deletions(-)
 create mode 100644 
Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.inf
 create mode 100644 
Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
 create mode 100644 
Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.inf
 create mode 100644 
Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
 create mode 100644 
Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.inf
 create mode 100644 
Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
 create mode 100644 Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.inf
 create mode 100644 Silicon/Marvell/Drivers/Gpio/MvPca95xxDxe/MvPca95xxDxe.inf
 create mode 100644 Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.h
 create mode 100644 Silicon/Marvell/Drivers/Gpio/MvPca95xxDxe/MvPca95xxDxe.h
 create mode 100644 Silicon/Marvell/Include/Library/NonDiscoverableInitLib.h
 create mode 100644 Silicon/Marvell/Include/Protocol/MvGpio.h
 create mode 100644 Silicon/Marvell/Include/Protocol/MvI2c.h
 create mode 100644 
Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.c
 create mode 100644 
Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
 create mode 100644 
Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.c
 create mode 100644 
Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.c
 create mode 100644 
Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.c
 create mode 100644 
Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.c
 create mode 100644 Silicon/Marvell/Drivers/Gpio/MvGpioDxe/MvGpioDxe.c
 create mode 100644 Silicon/Marvell/Drivers/Gpio/MvPca95xxDxe/MvPca95xxDxe.c

-- 
2.7.4

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to