public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Marcin Wojtas <mw@semihalf.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Leif Lindholm" <leif.lindholm@linaro.org>,
	"Nadav Haklai" <nadavh@marvell.com>,
	"Hua Jing" <jinghua@marvell.com>, "Jan Dąbroś" <jsd@semihalf.com>,
	"Grzegorz Jaszczyk" <jaz@semihalf.com>
Subject: Re: [platforms PATCH 00/25] Armada herdware description rework
Date: Mon, 11 Jun 2018 13:00:56 +0200	[thread overview]
Message-ID: <CAKv+Gu_+kr6Mg++cVjYimSOW_6HtW8ppL-Epakfu+T9zM-dZuQ@mail.gmail.com> (raw)
In-Reply-To: <1528472063-1660-1-git-send-email-mw@semihalf.com>

Marcin,

I am a bit reluctant to review another huge set of Armada patches
while we are still waiting for MacchiatoBin support to land. The only
hardware i have access to is MacchiatoBin, and it has been well over a
year now that MacchiatoBin support has been between 'under
construction' and 'about to land any day now'.

The patches in this series actually carry traces of McBin support,
which suggests to me that they were taken from an internal tree that
does support MacchiatoBin, but it has been removed. What is that
about?

edk2-platforms is not intended as a baseline for Marvell customers to
base their private trees on, we actually prefer code that runs on
systems that are widely available (such as MacchiatoBin)

Thanks,
Ard.


On 8 June 2018 at 17:33, Marcin Wojtas <mw@semihalf.com> wrote:
> Hi,
>
> This big patchset reworks handling of the SoC and Boards' description
> to the final version. Hitherto mechanism of hardcoded structures
> and parsing PCDs inside the drivers was unfortunate - it didn't
> allow to support different SoC families with different number
> of controllers or base addresses.
>
> The main concept is introducing a hardware description layer
> with the new protocol, which is responsible for providing
> data to the consumer platforms drivers. Additionally a new
> SoC and Board description libraries allow to move information
> from overly used PCDs to C code in an organized manner:
>
> ArmadaSoCDescLib + ArmadaBoardDescLib
> (per SoC family)   (per Board, in next steps more of description
>        |            of ComPhy, Mpp and others can go there)
>        |                   |
>        |                   |
>        |-> MV_BOARD_DESC <-|
>                 |
>                 |
>                 |
>         Driver/Library (e.g. ComPhy, I2c, Pp2Dxe)
>
> Please don't be discouraged by big amount of patches,
> they are sort of repeatable: update protocol, libraries and
> the consumer drivers/libraries until the MvHwDescLib.h
> header could be completely removed. More details can
> be found in the commit logs.
>
> The patches are available in the github:
> https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/boarddesc-upstream-r20180608
>
> I'm looking forward to review and any comments/remarks.
>
> Best regards,
> Marcin
>
> Marcin Wojtas (21):
>   Marvell/Library: Introduce ArmadaBoardDescLib class
>   Marvell/Library: UtmiPhyLib: Switch to use MARVELL_BOARD_DESC protocol
>   Marvell/Library: RealTimeClockLib: Simplify obtaining base address
>   Marvell/Armada7k8k: Extend ArmadaSoCDescLib with PP2 information
>   Marvell/Drivers: MvBoardDesc: Extend protocol with PP2 support
>   Marvell/Drivers: Pp2Dxe: Switch to use MARVELL_BOARD_DESC protocol
>   Marvell/Armada7k8k: Extend ArmadaSoCDescLib with AHCI/SDMMC/XHCI
>   Marvell/Drivers: MvBoardDesc: Extend protocol with AHCI/SDMMC/XHCI
>   Marvell/Drivers: NonDiscoverable: Switch to use MARVELL_BOARD_DESC
>   Marvell/Library: ComPhyLib: Get AHCI data with MARVELL_BOARD_DESC
>   Marvell/Armada7k8k: Extend ArmadaSoCDescLib with ComPhy information
>   Marvell/Drivers: MvBoardDesc: Extend protocol with COMPHY support
>   Marvell/Library: ComPhyLib: Switch library to use MARVELL_BOARD_DESC
>   Marvell/Armada7k8k: Extend ArmadaSoCDescLib with MDIO information
>   Marvell/Drivers: MvBoardDesc: Extend protocol with MDIO support
>   Marvell/Drivers: MvMdioDxe: Enable 64bit addressing
>   Marvell/Drivers: MvMdioDxe: Switch driver to use MARVELL_BOARD_DESC
>   Marvell/Armada7k8k: Extend ArmadaSoCDescLib with I2C information
>   Marvell/Drivers: MvBoardDesc: Extend protocol with I2C support
>   Marvell/Drivers: MvI2cDxe: Switch driver to use MARVELL_BOARD_DESC
>   Marvell/Drivers: MvPhyDxe: Remove MvHwDescLib.h dependency
>
> jinghua (4):
>   Marvell/Library: Introduce ArmadaSoCDescLib class
>   Marvell: Introduce MARVELL_BOARD_DESC_PROTOCOL
>   Marvell/Drivers: MvBoardDescDxe: Introduce board description driver
>   Marvell/Armada7k8k: Enable board description driver compilation
>
>  Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc                                   |   2 +-
>  Platform/Marvell/Armada70x0Db/Armada70x0Db.fdf                                   |   1 +
>  Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc                                    |   2 +
>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kLib/Armada7k8kLib.inf               |   2 -
>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c   | 338 ++++++++++++
>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf |  37 ++
>  Silicon/Marvell/Armada7k8k/Library/RealTimeClockLib/RealTimeClockLib.c           |  29 +-
>  Silicon/Marvell/Armada7k8k/Library/RealTimeClockLib/RealTimeClockLib.inf         |   2 +-
>  Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c                               | 573 ++++++++++++++++++++
>  Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.h                               |  59 ++
>  Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.inf                             |  70 +++
>  Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c                                  |  37 +-
>  Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.inf                                |   1 +
>  Silicon/Marvell/Drivers/Net/MvMdioDxe/MvMdioDxe.c                                |  41 +-
>  Silicon/Marvell/Drivers/Net/MvMdioDxe/MvMdioDxe.inf                              |   1 +
>  Silicon/Marvell/Drivers/Net/MvPhyDxe/MvPhyDxe.c                                  |   3 +-
>  Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.c                                      |  43 +-
>  Silicon/Marvell/Drivers/Net/Pp2Dxe/Pp2Dxe.inf                                    |   2 +-
>  Silicon/Marvell/Drivers/NonDiscoverableDxe/NonDiscoverableDxe.c                  | 100 ++--
>  Silicon/Marvell/Drivers/NonDiscoverableDxe/NonDiscoverableDxe.inf                |   6 +-
>  Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h                             |  99 ++++
>  Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h                               | 146 +++++
>  Silicon/Marvell/Include/Library/MvHwDescLib.h                                    | 290 ----------
>  Silicon/Marvell/Include/Library/UtmiPhyLib.h                                     |   2 +
>  Silicon/Marvell/Include/Protocol/BoardDesc.h                                     | 118 ++++
>  Silicon/Marvell/Include/Protocol/Mdio.h                                          |   4 +-
>  Silicon/Marvell/Library/ComPhyLib/ComPhyCp110.c                                  |  50 +-
>  Silicon/Marvell/Library/ComPhyLib/ComPhyLib.c                                    |  74 ++-
>  Silicon/Marvell/Library/ComPhyLib/ComPhyLib.h                                    |   4 +
>  Silicon/Marvell/Library/ComPhyLib/ComPhyLib.inf                                  |   6 +-
>  Silicon/Marvell/Library/UtmiPhyLib/UtmiPhyLib.c                                  |  65 +--
>  Silicon/Marvell/Library/UtmiPhyLib/UtmiPhyLib.h                                  |   5 +
>  Silicon/Marvell/Library/UtmiPhyLib/UtmiPhyLib.inf                                |   9 +-
>  Silicon/Marvell/Marvell.dec                                                      |   8 +-
>  34 files changed, 1694 insertions(+), 535 deletions(-)
>  create mode 100644 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
>  create mode 100644 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf
>  create mode 100644 Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.c
>  create mode 100644 Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.h
>  create mode 100644 Silicon/Marvell/Drivers/BoardDesc/MvBoardDescDxe.inf
>  create mode 100644 Silicon/Marvell/Include/Library/ArmadaBoardDescLib.h
>  create mode 100644 Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
>  delete mode 100644 Silicon/Marvell/Include/Library/MvHwDescLib.h
>  create mode 100644 Silicon/Marvell/Include/Protocol/BoardDesc.h
>
> --
> 2.7.4
>


  parent reply	other threads:[~2018-06-11 11:00 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-08 15:33 [platforms PATCH 00/25] Armada herdware description rework Marcin Wojtas
2018-06-08 15:33 ` [platforms PATCH 01/25] Marvell/Library: Introduce ArmadaSoCDescLib class Marcin Wojtas
2018-06-12 15:16   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 02/25] Marvell/Library: Introduce ArmadaBoardDescLib class Marcin Wojtas
2018-06-12 15:36   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 03/25] Marvell: Introduce MARVELL_BOARD_DESC_PROTOCOL Marcin Wojtas
2018-06-08 15:34 ` [platforms PATCH 04/25] Marvell/Drivers: MvBoardDescDxe: Introduce board description driver Marcin Wojtas
2018-06-12 16:00   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 05/25] Marvell/Armada7k8k: Enable board description driver compilation Marcin Wojtas
2018-06-08 15:34 ` [platforms PATCH 06/25] Marvell/Library: UtmiPhyLib: Switch to use MARVELL_BOARD_DESC protocol Marcin Wojtas
2018-06-08 15:34 ` [platforms PATCH 07/25] Marvell/Library: RealTimeClockLib: Simplify obtaining base address Marcin Wojtas
2018-06-08 15:34 ` [platforms PATCH 08/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with PP2 information Marcin Wojtas
2018-06-12 18:21   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 09/25] Marvell/Drivers: MvBoardDesc: Extend protocol with PP2 support Marcin Wojtas
2018-06-12 18:24   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 10/25] Marvell/Drivers: Pp2Dxe: Switch to use MARVELL_BOARD_DESC protocol Marcin Wojtas
2018-06-12 20:25   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 11/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with AHCI/SDMMC/XHCI Marcin Wojtas
2018-06-12 18:37   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 12/25] Marvell/Drivers: MvBoardDesc: Extend protocol " Marcin Wojtas
2018-06-12 20:39   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 13/25] Marvell/Drivers: NonDiscoverable: Switch to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-08 15:34 ` [platforms PATCH 14/25] Marvell/Library: ComPhyLib: Get AHCI data with MARVELL_BOARD_DESC Marcin Wojtas
2018-06-12 20:46   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 15/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with ComPhy information Marcin Wojtas
2018-06-12 20:51   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 16/25] Marvell/Drivers: MvBoardDesc: Extend protocol with COMPHY support Marcin Wojtas
2018-06-12 21:02   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 17/25] Marvell/Library: ComPhyLib: Switch library to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-12 21:12   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 18/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with MDIO information Marcin Wojtas
2018-06-12 21:18   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 19/25] Marvell/Drivers: MvBoardDesc: Extend protocol with MDIO support Marcin Wojtas
2018-06-12 21:24   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 20/25] Marvell/Drivers: MvMdioDxe: Enable 64bit addressing Marcin Wojtas
2018-06-08 15:34 ` [platforms PATCH 21/25] Marvell/Drivers: MvMdioDxe: Switch driver to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-08 15:34 ` [platforms PATCH 22/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with I2C information Marcin Wojtas
2018-06-12 22:26   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 23/25] Marvell/Drivers: MvBoardDesc: Extend protocol with I2C support Marcin Wojtas
2018-06-12 22:41   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 24/25] Marvell/Drivers: MvI2cDxe: Switch driver to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-12 22:42   ` Leif Lindholm
2018-06-08 15:34 ` [platforms PATCH 25/25] Marvell/Drivers: MvPhyDxe: Remove MvHwDescLib.h dependency Marcin Wojtas
2018-06-12 22:44   ` Leif Lindholm
2018-06-11 11:00 ` Ard Biesheuvel [this message]
2018-06-11 11:49   ` [platforms PATCH 00/25] Armada herdware description rework Marcin Wojtas
2018-06-11 12:01     ` Ard Biesheuvel
2018-06-11 12:04       ` Marcin Wojtas
2018-06-12 22:48 ` Leif Lindholm
2018-06-13  7:40   ` Marcin Wojtas

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=CAKv+Gu_+kr6Mg++cVjYimSOW_6HtW8ppL-Epakfu+T9zM-dZuQ@mail.gmail.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