public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [platforms: PATCH 00/12] Armada7k8k GPIO support
@ 2018-10-20  1:57 Marcin Wojtas
  2018-10-20  1:57 ` [platforms: PATCH 01/12] Marvell/Library: ArmadaSoCDescLib: Add GPIO information Marcin Wojtas
                   ` (11 more replies)
  0 siblings, 12 replies; 35+ messages in thread
From: Marcin Wojtas @ 2018-10-20  1:57 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, ard.biesheuvel, nadavh, mw, jsd, jaz, kostap

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



^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2018-12-04 17:20 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-20  1:57 [platforms: PATCH 00/12] Armada7k8k GPIO support Marcin Wojtas
2018-10-20  1:57 ` [platforms: PATCH 01/12] Marvell/Library: ArmadaSoCDescLib: Add GPIO information Marcin Wojtas
2018-11-14  1:10   ` Leif Lindholm
2018-11-14  6:05     ` Marcin Wojtas
2018-11-14 17:33       ` Leif Lindholm
2018-11-21  1:26         ` Marcin Wojtas
2018-11-26 14:49           ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 02/12] Marvell/Library: ArmadaBoardDescLib: " Marcin Wojtas
2018-11-14  1:12   ` Leif Lindholm
2018-11-14  6:16     ` Marcin Wojtas
2018-11-14 17:29       ` Leif Lindholm
2018-12-04 15:18     ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 03/12] SolidRun/Armada80x0McBin: Introduce board description library Marcin Wojtas
2018-12-04 15:23   ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 04/12] Marvell/Armada70x0Db: " Marcin Wojtas
2018-12-04 15:27   ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 05/12] Marvell/Armada80x0Db: " Marcin Wojtas
2018-12-04 15:31   ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 06/12] Marvell/Drivers: MvBoardDesc: Extend protocol with GPIO support Marcin Wojtas
2018-12-04 15:42   ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 07/12] Marvell/Protocol: Introduce MARVELL_GPIO_PROTOCOL Marcin Wojtas
2018-12-04 16:00   ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 08/12] Marvell/Drivers: MvGpioDxe: Introduce platform GPIO driver Marcin Wojtas
2018-12-04 16:37   ` Leif Lindholm
2018-12-04 16:40     ` Ard Biesheuvel
2018-12-04 17:19       ` Leif Lindholm
2018-12-04 17:20         ` Ard Biesheuvel
2018-10-20  1:57 ` [platforms: PATCH 09/12] Marvell/Drivers: I2c: Use common header for macros Marcin Wojtas
2018-12-04 16:38   ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 10/12] Marvell/Drivers: MvPca95xxDxe: Introduce I2C GPIO driver Marcin Wojtas
2018-12-04 17:02   ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 11/12] Marvell/Armada7k8k: Enable GPIO drivers compilation Marcin Wojtas
2018-12-04 17:06   ` Leif Lindholm
2018-10-20  1:57 ` [platforms: PATCH 12/12] Marvell/Armada7k8k: Introduce NonDiscoverable device init routines Marcin Wojtas
2018-12-04 17:16   ` Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox