From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=2607:f8b0:4001:c06::241; helo=mail-io0-x241.google.com; envelope-from=mw@semihalf.com; receiver=edk2-devel@lists.01.org Received: from mail-io0-x241.google.com (mail-io0-x241.google.com [IPv6:2607:f8b0:4001:c06::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 837ED211ABB20 for ; Mon, 11 Jun 2018 04:49:40 -0700 (PDT) Received: by mail-io0-x241.google.com with SMTP id d185-v6so23532907ioe.0 for ; Mon, 11 Jun 2018 04:49:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=sG6BYmR3cRU2pe8l6UDtnQPVgPPdCUVp5kGzX/YTclE=; b=GpKWqP4dmg9qe6sAmBFkfYNqv+HbTcImkq61VPwhzxpF4yoBcvxdTEcOt96vNGn4ae 1chnGIX3KjMr2qdp40kvWnvOe5uIXniFoDNlE9MNEzRpynlLYCq/sXuHXekv2GG2jPiG otObB4+U6mZllbqKYwbmlKA+p6QhBH4ZHlnamG8YDQqrHyH5HRT9mZLHraeWR/50QE/5 rqEbQSkLCussgoiUjjCddI67WWzs4VoWg9A5Jp99/aKZYR/QXOGLzntJ/tgQN9BjmuJv f2miX9V9vju7ApKm8NZm1nxFJByk01hXfQ7aZX/xeyNnWfzRdZAPQ/Su1bQV/gzzYGEc fUCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=sG6BYmR3cRU2pe8l6UDtnQPVgPPdCUVp5kGzX/YTclE=; b=HuMAaVPf36jrVM6AHvPwnTaGtIxJ3GLGpljNMRRdGYLLfgXMbnmymPHTtIEZlqN1fb lEQzmxbMbE6+4CNpUsxapeRFtytxiIz1fw4ljuFfwf5IYExBr6ONanWXteCayLmJMqD9 kuIMy9WoFUEnPmvdwaFoV8mIhxDuEVxTjSyz9Xa5e8uMLKg4cixGgXdbSqShlyX7A+8P v3oRYk+RRm/Im/9UJcmwSErZKNUxq6qQBq0BI08nGHXr8YxBdcEAYj4/Gf4L0gHgPW60 PIF4BzSnr7ksOFuVEDITPluWzIlI1S+fjUmHce1bqnCe7NQjtVqX5ix4KtlghXmWL0Tf 8Kww== X-Gm-Message-State: APt69E0vea0NEBBNYPF5lFzwgCvCIQ5i1WcmR5d18kKV6V3Pf1cHJMQP JHZymPgCewubETznwPKLJZyPTGBcG3wEArJuc2ZwZZms X-Google-Smtp-Source: ADUXVKJBT+6yVW9fTJqXGsbArAs8whXrftwp+6SpckEd5yGtXyAmxzlo63a38+x9ZLTqxGuoX6NE367n5PPe4D2XAns= X-Received: by 2002:a6b:16c7:: with SMTP id 190-v6mr13947210iow.221.1528717779543; Mon, 11 Jun 2018 04:49:39 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a6b:c6cc:0:0:0:0:0 with HTTP; Mon, 11 Jun 2018 04:49:38 -0700 (PDT) In-Reply-To: References: <1528472063-1660-1-git-send-email-mw@semihalf.com> From: Marcin Wojtas Date: Mon, 11 Jun 2018 13:49:38 +0200 Message-ID: To: Ard Biesheuvel Cc: "edk2-devel@lists.01.org" , Leif Lindholm , Nadav Haklai , Hua Jing , =?UTF-8?B?SmFuIETEhWJyb8Wb?= , Grzegorz Jaszczyk Subject: Re: [platforms PATCH 00/25] Armada herdware description rework X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2018 11:49:40 -0000 Content-Type: text/plain; charset="UTF-8" Hi Ard, 2018-06-11 13:00 GMT+02:00 Ard Biesheuvel : > 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? MacchiatoBin addition is on top of those patches in the branch I prepared solely for upstream. Anyway, I understand your point and let's skip this big patchset for now. I will submit support for other boards, once it's accepted, let's return to this one. Best regards, Marcin > > 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 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 >>