public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Marcin Wojtas <mw@semihalf.com>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: edk2-devel-01 <edk2-devel@lists.01.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	 nadavh@marvell.com, Hua Jing <jinghua@marvell.com>,
	 semihalf-dabros-jan <jsd@semihalf.com>,
	Grzegorz Jaszczyk <jaz@semihalf.com>
Subject: Re: [platforms: PATCH v2 01/25] Marvell/Library: Introduce ArmadaSoCDescLib class
Date: Mon, 18 Jun 2018 17:58:42 +0200	[thread overview]
Message-ID: <CAPv3WKdmELu_R+o49yTc9mdJZnJqWuc-0bpoGZpDuCnZ_pFGXQ@mail.gmail.com> (raw)
In-Reply-To: <20180618154411.u7pv4om3z4yucvvc@bivouac.eciton.net>

Hi Leif,

2018-06-18 17:44 GMT+02:00 Leif Lindholm <leif.lindholm@linaro.org>:
> On Sun, Jun 17, 2018 at 10:11:41PM +0200, Marcin Wojtas wrote:
>> From: jinghua <jinghua@marvell.com>
>>
>> ArmadaSoCDescLib is a per SoC family library, which provides SoC
>> description, like register base of some hardware module controller,
>> COMPHY/I2C/NETWORK etc., which right now is hardcoded in MvHwDescLib.h.
>> There will be a new protocol, which gets SoC description from this
>> library, and provides board description based on enable/disable
>> values of each hardware module controller in dsc file.
>>
>> As a first example implement obtaining UTMI controllers information.
>> Remaining interfaces will be added in follow-up commits.
>> This patch introduces new library callback (ArmadaSoCDescUtmiGet ()),
>> which dynamically allocates and fills MV_SOC_UTMI_DESC structure,
>> SoC description of UTMI PHYs. A new PCD is introduced (PcdMaxCpCount)
>> which stores maximal amount of CP110 blocks in the SoC family.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: jinghua <jinghua@marvell.com>
>
> Several of these pre-existing Signed-off-by remain in this set. I did
> only comment it on 2/25, but it remains there as well.

As I understood, the problem was 'Reviewed-by' from internal review -
all those were dropped. So far when the commit was authored by someone
else (at least in OpenPlatformPkg times) we used to leave the
authorship and authors 'Signed-off-by' - in such case I had to add my
own Signed-off-by, as I was sending this to the lists.

>
> Please send a v3 with this addressed across all patches.
> But please wait until I've had a chance to go through this set.
> When you do so, this one has
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
>
> I will comment explicitly on all such patches in this set, apart from
> the one where I already gave Reviewed-by (but please delete all other
> signed-off-bys than your own from those as well).
>

I will update  according to your wish and the new policy.

Best regards,
Marcin

> /
>     Leif
>
>> Signed-off-by: Marcin Wojtas <mw@semihalf.com>
>> ---
>>  Silicon/Marvell/Marvell.dec                                                      |  4 ++
>>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf | 37 +++++++++++
>>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h   | 35 +++++++++++
>>  Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h                               | 33 ++++++++++
>>  Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c   | 65 ++++++++++++++++++++
>>  5 files changed, 174 insertions(+)
>>  create mode 100644 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf
>>  create mode 100644 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
>>  create mode 100644 Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
>>  create mode 100644 Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
>>
>> diff --git a/Silicon/Marvell/Marvell.dec b/Silicon/Marvell/Marvell.dec
>> index be74b4e..2a92eff 100644
>> --- a/Silicon/Marvell/Marvell.dec
>> +++ b/Silicon/Marvell/Marvell.dec
>> @@ -60,6 +60,7 @@
>>    gMarvellSpiFlashDxeGuid = { 0x49d7fb74, 0x306d, 0x42bd, { 0x94, 0xc8, 0xc0, 0xc5, 0x4b, 0x18, 0x1d, 0xd7 } }
>>
>>  [LibraryClasses]
>> +  ArmadaSoCDescLib|Include/Library/ArmadaSoCDescLib.h
>>    SampleAtResetLib|Include/Library/SampleAtResetLib.h
>>
>>  [Protocols]
>> @@ -68,6 +69,9 @@
>>    gMarvellPlatformInitCompleteProtocolGuid = { 0x465b8cf7, 0x016f, 0x4ba6, { 0xbe, 0x6b, 0x28, 0x0e, 0x3a, 0x7d, 0x38, 0x6f } }
>>
>>  [PcdsFixedAtBuild.common]
>> +#Board description
>> +  gMarvellTokenSpaceGuid.PcdMaxCpCount|0x2|UINT8|0x30000072
>> +
>>  #MPP
>>    gMarvellTokenSpaceGuid.PcdMppChipCount|0|UINT32|0x30000001
>>
>> diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf
>> new file mode 100644
>> index 0000000..2b73b73
>> --- /dev/null
>> +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf
>> @@ -0,0 +1,37 @@
>> +## @file
>> +#
>> +#  Copyright (C) 2018, Marvell International Ltd. and its affiliates<BR>
>> +#
>> +#  This program and the accompanying materials are licensed and made available
>> +#  under the terms and conditions of the BSD License which accompanies this
>> +#  distribution. The full text of the license may be found at
>> +#  http://opensource.org/licenses/bsd-license.php
>> +#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
>> +#  IMPLIED.
>> +#
>> +##
>> +
>> +[Defines]
>> +  INF_VERSION                    = 0x0001001A
>> +  BASE_NAME                      = Armada7k8kDescLib
>> +  FILE_GUID                      = c64f0048-4ca3-4573-b0a6-c2e9e6457285
>> +  MODULE_TYPE                    = BASE
>> +  VERSION_STRING                 = 1.0
>> +  LIBRARY_CLASS                  = ArmadaSoCDescLib
>> +
>> +[Sources]
>> +  Armada7k8kSoCDescLib.c
>> +
>> +[Packages]
>> +  MdeModulePkg/MdeModulePkg.dec
>> +  MdePkg/MdePkg.dec
>> +  Silicon/Marvell/Marvell.dec
>> +
>> +[LibraryClasses]
>> +  DebugLib
>> +  IoLib
>> +  PcdLib
>> +
>> +[FixedPcd]
>> +  gMarvellTokenSpaceGuid.PcdMaxCpCount
>> diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
>> new file mode 100644
>> index 0000000..c5711b0
>> --- /dev/null
>> +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.h
>> @@ -0,0 +1,35 @@
>> +/**
>> +*
>> +*  Copyright (C) 2018, Marvell International Ltd. and its affiliates.
>> +*
>> +*  This program and the accompanying materials are licensed and made available
>> +*  under the terms and conditions of the BSD License which accompanies this
>> +*  distribution. The full text of the license may be found at
>> +*  http://opensource.org/licenses/bsd-license.php
>> +*
>> +*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>> +*
>> +*  Glossary - abbreviations used in Marvell SampleAtReset library implementation:
>> +*  AP - Application Processor hardware block (Armada 7k8k incorporates AP806)
>> +*  CP - South Bridge hardware blocks (Armada 7k8k incorporates CP110)
>> +**/
>> +
>> +#ifndef __ARMADA7K8K_SOC_DESC_LIB_H__
>> +#define __ARMADA7K8K_SOC_DESC_LIB_H__
>> +
>> +//
>> +// Common macros
>> +//
>> +#define MV_SOC_CP_BASE(Cp)               (0xF2000000 + ((Cp) * 0x2000000))
>> +
>> +//
>> +// Platform description of UTMI PHY's
>> +//
>> +#define MV_SOC_UTMI_PER_CP_COUNT         2
>> +#define MV_SOC_UTMI_ID(Utmi)             (Utmi)
>> +#define MV_SOC_UTMI_BASE(Utmi)           (0x580000 + ((Utmi) * 0x1000))
>> +#define MV_SOC_UTMI_CFG_BASE             0x440440
>> +#define MV_SOC_UTMI_USB_CFG_BASE         0x440420
>> +
>> +#endif
>> diff --git a/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h b/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
>> new file mode 100644
>> index 0000000..0d45684
>> --- /dev/null
>> +++ b/Silicon/Marvell/Include/Library/ArmadaSoCDescLib.h
>> @@ -0,0 +1,33 @@
>> +/**
>> +*
>> +*  Copyright (C) 2018, Marvell International Ltd. and its affiliates
>> +*
>> +*  This program and the accompanying materials are licensed and made available
>> +*  under the terms and conditions of the BSD License which accompanies this
>> +*  distribution. The full text of the license may be found at
>> +*  http://opensource.org/licenses/bsd-license.php
>> +*
>> +*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>> +*
>> +**/
>> +#ifndef __ARMADA_SOC_DESC_LIB_H__
>> +#define __ARMADA_SOC_DESC_LIB_H__
>> +
>> +//
>> +// UTMI PHY devices SoC description
>> +//
>> +typedef struct {
>> +  UINT8 UtmiPhyId;
>> +  UINTN UtmiBaseAddress;
>> +  UINTN UtmiConfigAddress;
>> +  UINTN UsbConfigAddress;
>> +} MV_SOC_UTMI_DESC;
>> +
>> +EFI_STATUS
>> +EFIAPI
>> +ArmadaSoCDescUtmiGet (
>> +  IN OUT MV_SOC_UTMI_DESC  **UtmiDesc,
>> +  IN OUT UINTN              *DescCount
>> +  );
>> +#endif /* __ARMADA_SOC_DESC_LIB_H__ */
>> diff --git a/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
>> new file mode 100644
>> index 0000000..63fb224
>> --- /dev/null
>> +++ b/Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.c
>> @@ -0,0 +1,65 @@
>> +/**
>> +*
>> +*  Copyright (C) 2018, Marvell International Ltd. and its affiliates.
>> +*
>> +*  This program and the accompanying materials are licensed and made available
>> +*  under the terms and conditions of the BSD License which accompanies this
>> +*  distribution. The full text of the license may be found at
>> +*  http://opensource.org/licenses/bsd-license.php
>> +*
>> +*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
>> +*
>> +*  Glossary - abbreviations used in Marvell SampleAtReset library implementation:
>> +*  AP - Application Processor hardware block (Armada 7k8k incorporates AP806)
>> +*  CP - South Bridge hardware blocks (Armada 7k8k incorporates CP110)
>> +**/
>> +
>> +#include <Uefi.h>
>> +
>> +#include <Library/BaseMemoryLib.h>
>> +#include <Library/DebugLib.h>
>> +#include <Library/IoLib.h>
>> +#include <Library/MemoryAllocationLib.h>
>> +#include <Library/PcdLib.h>
>> +#include <Library/UefiBootServicesTableLib.h>
>> +
>> +#include <Protocol/BoardDesc.h>
>> +
>> +#include "Armada7k8kSoCDescLib.h"
>> +
>> +EFI_STATUS
>> +EFIAPI
>> +ArmadaSoCDescUtmiGet (
>> +  IN OUT MV_SOC_UTMI_DESC  **UtmiDesc,
>> +  IN OUT UINTN              *DescCount
>> +  )
>> +{
>> +  MV_SOC_UTMI_DESC *Desc;
>> +  UINTN CpCount, CpIndex, Index, UtmiIndex;
>> +
>> +  CpCount = FixedPcdGet8 (PcdMaxCpCount);
>> +
>> +  *DescCount = CpCount * MV_SOC_UTMI_PER_CP_COUNT;
>> +  Desc = AllocateZeroPool (*DescCount * sizeof (MV_SOC_UTMI_DESC));
>> +  if (Desc == NULL) {
>> +    DEBUG ((DEBUG_ERROR, "%a: Cannot allocate memory\n", __FUNCTION__));
>> +    return EFI_OUT_OF_RESOURCES;
>> +  }
>> +
>> +  *UtmiDesc = Desc;
>> +
>> +  UtmiIndex = 0;
>> +  for (CpIndex = 0; CpIndex < CpCount; CpIndex++) {
>> +    for (Index = 0; Index < MV_SOC_UTMI_PER_CP_COUNT; Index++) {
>> +      Desc->UtmiPhyId = MV_SOC_UTMI_ID (UtmiIndex);
>> +      Desc->UtmiBaseAddress = MV_SOC_CP_BASE (CpIndex) + MV_SOC_UTMI_BASE (Index);
>> +      Desc->UtmiConfigAddress = MV_SOC_CP_BASE (CpIndex) + MV_SOC_UTMI_CFG_BASE;
>> +      Desc->UsbConfigAddress = MV_SOC_CP_BASE (CpIndex) + MV_SOC_UTMI_USB_CFG_BASE;
>> +      Desc++;
>> +      UtmiIndex++;
>> +    }
>> +  }
>> +
>> +  return EFI_SUCCESS;
>> +}
>> --
>> 2.7.4
>>


  reply	other threads:[~2018-06-18 15:58 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-17 20:11 [platforms: PATCH v2 00/25] Armada hardware description rework Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 01/25] Marvell/Library: Introduce ArmadaSoCDescLib class Marcin Wojtas
2018-06-18 15:44   ` Leif Lindholm
2018-06-18 15:58     ` Marcin Wojtas [this message]
2018-06-18 17:09       ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 02/25] Marvell/Library: Introduce ArmadaBoardDescLib class Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 03/25] Marvell: Introduce MARVELL_BOARD_DESC_PROTOCOL Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 04/25] Marvell/Drivers: MvBoardDesc: Introduce board description driver Marcin Wojtas
2018-06-18 15:50   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 05/25] Marvell/Armada7k8k: Enable board description driver compilation Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 06/25] Marvell/Library: UtmiPhyLib: Switch to use MARVELL_BOARD_DESC protocol Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 07/25] Marvell/Library: RealTimeClockLib: Simplify obtaining base address Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 08/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with PP2 information Marcin Wojtas
2018-06-18 15:51   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 09/25] Marvell/Drivers: MvBoardDesc: Extend protocol with PP2 support Marcin Wojtas
2018-06-18 15:53   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 10/25] Marvell/Drivers: Pp2Dxe: Switch to use MARVELL_BOARD_DESC protocol Marcin Wojtas
2018-06-18 15:55   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 11/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with AHCI/SDMMC/XHCI Marcin Wojtas
2018-06-18 16:06   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 12/25] Marvell/Drivers: MvBoardDesc: Extend protocol " Marcin Wojtas
2018-06-18 16:09   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 13/25] Marvell/Drivers: NonDiscoverable: Switch to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-17 20:11 ` [platforms: PATCH v2 14/25] Marvell/Library: ComPhyLib: Get AHCI data with MARVELL_BOARD_DESC Marcin Wojtas
2018-06-18 16:15   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 15/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with ComPhy information Marcin Wojtas
2018-06-18 16:18   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 16/25] Marvell/Drivers: MvBoardDesc: Extend protocol with ComPhy support Marcin Wojtas
2018-06-18 16:19   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 17/25] Marvell/Library: ComPhyLib: Switch library to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-18 16:20   ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 18/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with MDIO information Marcin Wojtas
2018-06-18 16:23   ` Leif Lindholm
2018-06-18 16:27     ` Marcin Wojtas
2018-06-18 17:16       ` Leif Lindholm
2018-06-17 20:11 ` [platforms: PATCH v2 19/25] Marvell/Drivers: MvBoardDesc: Extend protocol with MDIO support Marcin Wojtas
2018-06-18 16:44   ` Leif Lindholm
2018-06-17 20:12 ` [platforms: PATCH v2 20/25] Marvell/Drivers: MvMdioDxe: Enable 64bit addressing Marcin Wojtas
2018-06-17 20:12 ` [platforms: PATCH v2 21/25] Marvell/Drivers: MvMdioDxe: Switch driver to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-17 20:12 ` [platforms: PATCH v2 22/25] Marvell/Armada7k8k: Extend ArmadaSoCDescLib with I2C information Marcin Wojtas
2018-06-18 16:45   ` Leif Lindholm
2018-06-17 20:12 ` [platforms: PATCH v2 23/25] Marvell/Drivers: MvBoardDesc: Extend protocol with I2C support Marcin Wojtas
2018-06-18 16:47   ` Leif Lindholm
2018-06-17 20:12 ` [platforms: PATCH v2 24/25] Marvell/Drivers: MvI2cDxe: Switch driver to use MARVELL_BOARD_DESC Marcin Wojtas
2018-06-18 16:48   ` Leif Lindholm
2018-06-17 20:12 ` [platforms: PATCH v2 25/25] Marvell/Drivers: MvPhyDxe: Remove MvHwDescLib.h dependency Marcin Wojtas
2018-06-18 16:50   ` 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=CAPv3WKdmELu_R+o49yTc9mdJZnJqWuc-0bpoGZpDuCnZ_pFGXQ@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