From: Marcin Wojtas <mw@semihalf.com>
To: edk2-devel@lists.01.org
Cc: leif.lindholm@linaro.org, ard.biesheuvel@linaro.org,
nadavh@marvell.com, mw@semihalf.com, jsd@semihalf.com,
jaz@semihalf.com, kostap@marvell.com
Subject: [platforms: PATCH 00/12] Armada7k8k GPIO support
Date: Sat, 20 Oct 2018 03:57:29 +0200 [thread overview]
Message-ID: <1540000661-1956-1-git-send-email-mw@semihalf.com> (raw)
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
next reply other threads:[~2018-10-20 1:58 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-20 1:57 Marcin Wojtas [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1540000661-1956-1-git-send-email-mw@semihalf.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox