From: Leif Lindholm <leif.lindholm@linaro.org>
To: Marcin Wojtas <mw@semihalf.com>
Cc: edk2-devel@lists.01.org, ard.biesheuvel@linaro.org,
nadavh@marvell.com, neta@marvell.com, kostap@marvell.com,
jinghua@marvell.com, jsd@semihalf.com
Subject: Re: [platforms: PATCH 3/5] Marvell/Library: UtmiLib: Move devices description to MvHwDescLib
Date: Fri, 6 Oct 2017 16:57:43 +0100 [thread overview]
Message-ID: <20171006155743.f4sdanashx4htwbq@bivouac.eciton.net> (raw)
In-Reply-To: <1507276278-3608-4-git-send-email-mw@semihalf.com>
On Fri, Oct 06, 2017 at 09:51:16AM +0200, Marcin Wojtas wrote:
> This patch introduces UTMI description, using the new structures
> and template in MvHwDescLib. This change enables more flexible
> addition of multiple CP with UTMI PHY's and also significantly
> reduces amount of used PCD's for that purpose. Update PortingGuide
> documentation accordingly.
>
> This patch replaces string-based description of Utmi on
> Armada 70x0 DB with new, reduced format.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Marcin Wojtas <mw@semihalf.com>
> ---
> Platform/Marvell/Armada/Armada70x0.dsc | 7 +-
> Platform/Marvell/Include/Library/MvHwDescLib.h | 47 ++++++
> Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.c | 149 ++++++++++----------
> Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.h | 1 -
> Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.inf | 11 +-
> Platform/Marvell/Marvell.dec | 7 +-
> Silicon/Marvell/Documentation/PortingGuide.txt | 30 ++--
> 7 files changed, 142 insertions(+), 110 deletions(-)
>
> diff --git a/Platform/Marvell/Armada/Armada70x0.dsc b/Platform/Marvell/Armada/Armada70x0.dsc
> index d9d126d..04bdf7c 100644
> --- a/Platform/Marvell/Armada/Armada70x0.dsc
> +++ b/Platform/Marvell/Armada/Armada70x0.dsc
> @@ -111,11 +111,8 @@
> gMarvellTokenSpaceGuid.PcdChip0ComPhySpeeds|{ 0x1, 0x6, 0xA, 0x6, 0x6, 0x6 }
>
> #UtmiPhy
> - gMarvellTokenSpaceGuid.PcdUtmiPhyCount|2
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUsbCfg|L"0xF2440420;0xF2440420"
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiCfg|L"0xF2440440;0xF2440444"
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiUnit|L"0xF2580000;0xF2581000"
> - gMarvellTokenSpaceGuid.PcdUtmiPhyUtmiPort|L"0x0;0x1"
> + gMarvellTokenSpaceGuid.PcdUtmiControllers|{ 0x1, 0x1 }
> + gMarvellTokenSpaceGuid.PcdUtmiPortType|{ 0x0, 0x1 }
Like for 1/5, could we have some entries under a [Define] in a .inc
(reasonably the same .inc)?
/
Leif
>
> #MDIO
> gMarvellTokenSpaceGuid.PcdMdioBaseAddress|0xF212A200
> diff --git a/Platform/Marvell/Include/Library/MvHwDescLib.h b/Platform/Marvell/Include/Library/MvHwDescLib.h
> index e029b50..6ad1bc2 100644
> --- a/Platform/Marvell/Include/Library/MvHwDescLib.h
> +++ b/Platform/Marvell/Include/Library/MvHwDescLib.h
> @@ -117,6 +117,19 @@ typedef struct {
> } MVHW_RTC_DESC;
>
> //
> +// UTMI PHY's description template definition
> +//
> +
> +typedef struct {
> + UINT8 UtmiDevCount;
> + UINT32 UtmiPhyId[MVHW_MAX_XHCI_DEVS];
> + UINTN UtmiBaseAddresses[MVHW_MAX_XHCI_DEVS];
> + UINTN UtmiConfigAddresses[MVHW_MAX_XHCI_DEVS];
> + UINTN UtmiUsbConfigAddresses[MVHW_MAX_XHCI_DEVS];
> + UINTN UtmiMuxBitCount[MVHW_MAX_XHCI_DEVS];
> +} MVHW_UTMI_DESC;
> +
> +//
> // Platform description of CommonPhy devices
> //
> #define MVHW_CP0_COMPHY_BASE 0xF2441000
> @@ -217,4 +230,38 @@ MVHW_RTC_DESC mA7k8kRtcDescTemplate = {\
> { SIZE_4KB, SIZE_4KB }\
> }
>
> +//
> +// Platform description of UTMI PHY's
> +//
> +#define MVHW_CP0_UTMI0_BASE 0xF2580000
> +#define MVHW_CP0_UTMI0_CFG_BASE 0xF2440440
> +#define MVHW_CP0_UTMI0_USB_CFG_BASE 0xF2440420
> +#define MVHW_CP0_UTMI0_ID 0x0
> +#define MVHW_CP0_UTMI1_BASE 0xF2581000
> +#define MVHW_CP0_UTMI1_CFG_BASE 0xF2440444
> +#define MVHW_CP0_UTMI1_USB_CFG_BASE 0xF2440420
> +#define MVHW_CP0_UTMI1_ID 0x1
> +#define MVHW_CP1_UTMI0_BASE 0xF4580000
> +#define MVHW_CP1_UTMI0_CFG_BASE 0xF4440440
> +#define MVHW_CP1_UTMI0_USB_CFG_BASE 0xF4440420
> +#define MVHW_CP1_UTMI0_ID 0x0
> +#define MVHW_CP1_UTMI1_BASE 0xF4581000
> +#define MVHW_CP1_UTMI1_CFG_BASE 0xF4440444
> +#define MVHW_CP1_UTMI1_USB_CFG_BASE 0xF4440420
> +#define MVHW_CP1_UTMI1_ID 0x1
> +
> +#define DECLARE_A7K8K_UTMI_TEMPLATE \
> +STATIC \
> +MVHW_UTMI_DESC mA7k8kUtmiDescTemplate = {\
> + 4,\
> + { MVHW_CP0_UTMI0_ID, MVHW_CP0_UTMI1_ID,\
> + MVHW_CP1_UTMI0_ID, MVHW_CP1_UTMI1_ID },\
> + { MVHW_CP0_UTMI0_BASE, MVHW_CP0_UTMI1_BASE,\
> + MVHW_CP1_UTMI0_BASE, MVHW_CP1_UTMI1_BASE },\
> + { MVHW_CP0_UTMI0_CFG_BASE, MVHW_CP0_UTMI1_CFG_BASE,\
> + MVHW_CP1_UTMI0_CFG_BASE, MVHW_CP1_UTMI1_CFG_BASE },\
> + { MVHW_CP0_UTMI0_USB_CFG_BASE, MVHW_CP0_UTMI1_USB_CFG_BASE,\
> + MVHW_CP1_UTMI0_USB_CFG_BASE, MVHW_CP1_UTMI1_USB_CFG_BASE }\
> +}
> +
> #endif /* __MVHWDESCLIB_H__ */
> diff --git a/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.c b/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.c
> index 95b5698..b07c038 100644
> --- a/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.c
> +++ b/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.c
> @@ -33,12 +33,16 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> *******************************************************************************/
>
> #include "UtmiPhyLib.h"
> +#include <Library/MvHwDescLib.h>
> +
> +DECLARE_A7K8K_UTMI_TEMPLATE;
>
> typedef struct {
> EFI_PHYSICAL_ADDRESS UtmiBaseAddr;
> EFI_PHYSICAL_ADDRESS UsbCfgAddr;
> EFI_PHYSICAL_ADDRESS UtmiCfgAddr;
> UINT32 UtmiPhyPort;
> + UINT32 PhyId;
> } UTMI_PHY_DATA;
>
> STATIC
> @@ -236,48 +240,52 @@ UtmiPhyPowerUp (
> STATIC
> VOID
> Cp110UtmiPhyInit (
> - IN UINT32 UtmiPhyCount,
> IN UTMI_PHY_DATA *UtmiData
> )
> {
> - UINT32 i;
> + EFI_STATUS Status;
>
> - for (i = 0; i < UtmiPhyCount; i++) {
> - UtmiPhyPowerDown(i, UtmiData[i].UtmiBaseAddr,
> - UtmiData[i].UsbCfgAddr, UtmiData[i].UtmiCfgAddr,
> - UtmiData[i].UtmiPhyPort);
> - }
> + UtmiPhyPowerDown (
> + UtmiData->PhyId,
> + UtmiData->UtmiBaseAddr,
> + UtmiData->UsbCfgAddr,
> + UtmiData->UtmiCfgAddr,
> + UtmiData->UtmiPhyPort
> + );
>
> /* Power down PLL */
> DEBUG((DEBUG_INFO, "UtmiPhy: stage: PHY power down PLL\n"));
> - RegSet (UtmiData[0].UsbCfgAddr, 0x0 << UTMI_USB_CFG_PLL_OFFSET,
> - UTMI_USB_CFG_PLL_MASK);
> -
> - for (i = 0; i < UtmiPhyCount; i++) {
> - UtmiPhyConfig(i, UtmiData[i].UtmiBaseAddr,
> - UtmiData[i].UsbCfgAddr, UtmiData[i].UtmiCfgAddr,
> - UtmiData[i].UtmiPhyPort);
> + MmioAnd32 (UtmiData->UsbCfgAddr, ~UTMI_USB_CFG_PLL_MASK);
> +
> + UtmiPhyConfig (
> + UtmiData->PhyId,
> + UtmiData->UtmiBaseAddr,
> + UtmiData->UsbCfgAddr,
> + UtmiData->UtmiCfgAddr,
> + UtmiData->UtmiPhyPort
> + );
> +
> + Status = UtmiPhyPowerUp (
> + UtmiData->PhyId,
> + UtmiData->UtmiBaseAddr,
> + UtmiData->UsbCfgAddr,
> + UtmiData->UtmiCfgAddr,
> + UtmiData->UtmiPhyPort
> + );
> + if (EFI_ERROR (Status)) {
> + DEBUG ((DEBUG_ERROR, "UtmiPhy: Failed to initialize UTMI PHY %d\n", UtmiData->PhyId));
> + return;
> }
>
> - for (i = 0; i < UtmiPhyCount; i++) {
> - if (EFI_ERROR(UtmiPhyPowerUp(i, UtmiData[i].UtmiBaseAddr,
> - UtmiData[i].UsbCfgAddr, UtmiData[i].UtmiCfgAddr,
> - UtmiData[i].UtmiPhyPort))) {
> - DEBUG((DEBUG_ERROR, "UtmiPhy: Failed to initialize UTMI PHY %d\n", i));
> - continue;
> - }
> - DEBUG((DEBUG_ERROR, "UTMI PHY %d initialized to ", i));
> -
> - if (UtmiData[i].UtmiPhyPort == UTMI_PHY_TO_USB_DEVICE0)
> - DEBUG((DEBUG_ERROR, "USB Device\n"));
> - else
> - DEBUG((DEBUG_ERROR, "USB Host%d\n", UtmiData[i].UtmiPhyPort));
> - }
> + DEBUG ((DEBUG_ERROR, "UTMI PHY %d initialized to ", UtmiData->PhyId));
> + if (UtmiData->UtmiPhyPort == UTMI_PHY_TO_USB_DEVICE0)
> + DEBUG((DEBUG_ERROR, "USB Device\n"));
> + else
> + DEBUG((DEBUG_ERROR, "USB Host%d\n", UtmiData->UtmiPhyPort));
>
> /* Power up PLL */
> DEBUG((DEBUG_INFO, "UtmiPhy: stage: PHY power up PLL\n"));
> - RegSet (UtmiData[0].UsbCfgAddr, 0x1 << UTMI_USB_CFG_PLL_OFFSET,
> - UTMI_USB_CFG_PLL_MASK);
> + MmioOr32 (UtmiData->UsbCfgAddr, UTMI_USB_CFG_PLL_MASK);
> }
>
> EFI_STATUS
> @@ -285,69 +293,66 @@ UtmiPhyInit (
> VOID
> )
> {
> - EFI_STATUS Status;
> - UTMI_PHY_DATA UtmiData[PcdGet32 (PcdUtmiPhyCount)];
> - EFI_PHYSICAL_ADDRESS RegUtmiUnit[PcdGet32 (PcdUtmiPhyCount)];
> - EFI_PHYSICAL_ADDRESS RegUsbCfg[PcdGet32 (PcdUtmiPhyCount)];
> - EFI_PHYSICAL_ADDRESS RegUtmiCfg[PcdGet32 (PcdUtmiPhyCount)];
> - UINTN UtmiPort[PcdGet32 (PcdUtmiPhyCount)];
> - UINTN i, Count;
> -
> - Count = PcdGet32 (PcdUtmiPhyCount);
> - if (Count == 0) {
> + UTMI_PHY_DATA UtmiData;
> + UINT8 *UtmiDeviceTable, *XhciDeviceTable, *UtmiPortType, Index;
> + MVHW_UTMI_DESC *Desc = &mA7k8kUtmiDescTemplate;
> +
> + /* Obtain table with enabled Utmi PHY's*/
> + UtmiDeviceTable = (UINT8 *)PcdGetPtr (PcdUtmiControllers);
> + if (UtmiDeviceTable == NULL) {
> /* No UTMI PHY on platform */
> return EFI_SUCCESS;
> }
>
> - DEBUG((DEBUG_INFO, "UtmiPhy: Initialize USB UTMI PHYs\n"));
> - /* Parse UtmiPhy PCDs */
> - Status = ParsePcdString ((CHAR16 *) PcdGetPtr (PcdUtmiPhyRegUtmiUnit),
> - Count, RegUtmiUnit, NULL);
> - if (EFI_ERROR(Status)) {
> - DEBUG((DEBUG_ERROR, "UtmiPhy: Wrong PcdUtmiPhyRegUtmiUnit format\n"));
> + if (PcdGetSize (PcdUtmiControllers) > MVHW_MAX_XHCI_DEVS) {
> + DEBUG ((DEBUG_ERROR, "UTMI: Wrong PcdUtmiControllers format\n"));
> return EFI_INVALID_PARAMETER;
> }
>
> - Status = ParsePcdString ((CHAR16 *) PcdGetPtr (PcdUtmiPhyRegUsbCfg),
> - Count, RegUsbCfg, NULL);
> - if (EFI_ERROR(Status)) {
> - DEBUG((DEBUG_ERROR, "UtmiPhy: Wrong PcdUtmiPhyRegUsbCfg format\n"));
> + /* Make sure XHCI controllers table is present */
> + XhciDeviceTable = (UINT8 *)PcdGetPtr (PcdPciEXhci);
> + if (XhciDeviceTable == NULL) {
> + DEBUG ((DEBUG_ERROR, "UTMI: Missing PcdPciEXhci\n"));
> return EFI_INVALID_PARAMETER;
> }
>
> - Status = ParsePcdString ((CHAR16 *) PcdGetPtr (PcdUtmiPhyRegUtmiCfg),
> - Count, RegUtmiCfg, NULL);
> - if (EFI_ERROR(Status)) {
> - DEBUG((DEBUG_ERROR, "UtmiPhy: Wrong PcdUtmiPhyRegUtmiCfg format\n"));
> + /* Obtain port type table */
> + UtmiPortType = (UINT8 *)PcdGetPtr (PcdUtmiPortType);
> + if (UtmiPortType == NULL || PcdGetSize (PcdUtmiPortType) != PcdGetSize (PcdUtmiControllers)) {
> + DEBUG ((DEBUG_ERROR, "UTMI: Wrong PcdUtmiPortType format\n"));
> return EFI_INVALID_PARAMETER;
> }
>
> - Status = ParsePcdString ((CHAR16 *) PcdGetPtr (PcdUtmiPhyUtmiPort),
> - Count, UtmiPort, NULL);
> - if (EFI_ERROR(Status)) {
> - DEBUG((DEBUG_ERROR, "UtmiPhy: Wrong PcdUtmiPhyUtmiPort format\n"));
> - return EFI_INVALID_PARAMETER;
> - }
> + /* Initialize enabled chips */
> + for (Index = 0; Index < PcdGetSize (PcdUtmiControllers); Index++) {
> + if (!MVHW_DEV_ENABLED (Utmi, Index)) {
> + continue;
> + }
> +
> + /* UTMI PHY without enabled XHCI controller is useless */
> + if (!MVHW_DEV_ENABLED (Xhci, Index)) {
> + DEBUG ((DEBUG_ERROR, "UTMI: Disabled Xhci controller %d\n", Index));
> + return EFI_INVALID_PARAMETER;
> + }
>
> - for (i = 0 ; i < Count ; i++) {
> /* Get base address of UTMI phy */
> - UtmiData[i].UtmiBaseAddr = RegUtmiUnit[i];
> + UtmiData.UtmiBaseAddr = Desc->UtmiBaseAddresses[Index];
>
> /* Get usb config address */
> - UtmiData[i].UsbCfgAddr = RegUsbCfg[i];
> + UtmiData.UsbCfgAddr = Desc->UtmiUsbConfigAddresses[Index];
>
> /* Get UTMI config address */
> - UtmiData[i].UtmiCfgAddr = RegUtmiCfg[i];
> + UtmiData.UtmiCfgAddr = Desc->UtmiConfigAddresses[Index];
>
> - /*
> - * Get the usb port number, which will be used to check if
> - * the utmi connected to host or device
> - */
> - UtmiData[i].UtmiPhyPort = UtmiPort[i];
> - }
> + /* Get UTMI PHY ID */
> + UtmiData.PhyId = Desc->UtmiPhyId[Index];
>
> - /* Currently only Cp110 is supported */
> - Cp110UtmiPhyInit (Count, UtmiData);
> + /* Get the usb port type */
> + UtmiData.UtmiPhyPort = UtmiPortType[Index];
> +
> + /* Currently only Cp110 is supported */
> + Cp110UtmiPhyInit (&UtmiData);
> + }
>
> return EFI_SUCCESS;
> }
> diff --git a/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.h b/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.h
> index f9b4933..0d7d72e 100644
> --- a/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.h
> +++ b/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.h
> @@ -42,7 +42,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> #include <Library/MemoryAllocationLib.h>
> #include <Library/IoLib.h>
> #include <Library/TimerLib.h>
> -#include <Library/ParsePcdLib.h>
>
> #define UTMI_USB_CFG_DEVICE_EN_OFFSET 0
> #define UTMI_USB_CFG_DEVICE_EN_MASK (0x1 << UTMI_USB_CFG_DEVICE_EN_OFFSET)
> diff --git a/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.inf b/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.inf
> index f1e57f4..6e33cdd 100644
> --- a/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.inf
> +++ b/Platform/Marvell/Library/UtmiPhyLib/UtmiPhyLib.inf
> @@ -50,15 +50,12 @@
> DebugLib
> IoLib
> MemoryAllocationLib
> - ParsePcdLib
> PcdLib
>
> [Sources.common]
> UtmiPhyLib.c
>
> -[FixedPcd]
> - gMarvellTokenSpaceGuid.PcdUtmiPhyCount
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUsbCfg
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiCfg
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiUnit
> - gMarvellTokenSpaceGuid.PcdUtmiPhyUtmiPort
> +[Pcd]
> + gMarvellTokenSpaceGuid.PcdUtmiControllers
> + gMarvellTokenSpaceGuid.PcdUtmiPortType
> + gMarvellTokenSpaceGuid.PcdPciEXhci
> diff --git a/Platform/Marvell/Marvell.dec b/Platform/Marvell/Marvell.dec
> index 25a4258..00d99fa 100644
> --- a/Platform/Marvell/Marvell.dec
> +++ b/Platform/Marvell/Marvell.dec
> @@ -156,11 +156,8 @@
> gMarvellTokenSpaceGuid.PcdChip3ComPhyInvFlags|{ 0x0 }|VOID*|0x30000177
>
> #UtmiPhy
> - gMarvellTokenSpaceGuid.PcdUtmiPhyCount|0|UINT32|0x30000205
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUsbCfg|{ 0x0 }|VOID*|0x30000206
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiCfg|{ 0x0 }|VOID*|0x30000207
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiUnit|{ 0x0 }|VOID*|0x30000208
> - gMarvellTokenSpaceGuid.PcdUtmiPhyUtmiPort|{ 0x0 }|VOID*|0x30000209
> + gMarvellTokenSpaceGuid.PcdUtmiControllers|{ 0x0 }|VOID*|0x30000206
> + gMarvellTokenSpaceGuid.PcdUtmiPortType|{ 0x0 }|VOID*|0x30000207
>
> #MDIO
> gMarvellTokenSpaceGuid.PcdMdioBaseAddress|0|UINT64|0x3000043
> diff --git a/Silicon/Marvell/Documentation/PortingGuide.txt b/Silicon/Marvell/Documentation/PortingGuide.txt
> index 1a30c46..8a9f603 100644
> --- a/Silicon/Marvell/Documentation/PortingGuide.txt
> +++ b/Silicon/Marvell/Documentation/PortingGuide.txt
> @@ -278,33 +278,23 @@ UTMI PHY configuration
> ======================
> In order to configure UTMI, following PCDs are available:
>
> - - gMarvellTokenSpaceGuid.PcdUtmiPhyCount
> - (Indicates how many UTMI PHYs are available on platform)
> -
> -Next four PCDs are in unicode string format containing settings for all devices
> -separated with semicolon.
> -
> - - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiUnit
> - (Indicates base address of the UTMI unit)
> -
> - - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUsbCfg
> - (Indicates address of USB Configuration register)
> + - gMarvellTokenSpaceGuid.PcdUtmiControllers
> + (Array with used controllers
> + Set to 0x1 for enabled, 0x0 for disabled)
>
> - - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiCfg
> - (Indicates address of external UTMI configuration)
> + - gMarvellTokenSpaceGuid.PcdUtmiPortType
> + (Indicates type of the connected USB port:
>
> - - gMarvellTokenSpaceGuid.PcdUtmiPhyUtmiPort
> - (Indicates type of the connected USB port)
> + UTMI_PHY_TO_USB_HOST0 0
> + UTMI_PHY_TO_USB_HOST1 1
> + UTMI_PHY_TO_USB_DEVICE0 2 )
>
> Example
> -------
>
> # UtmiPhy
> - gMarvellTokenSpaceGuid.PcdUtmiPhyCount|2
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiUnit|L"0xF2580000;0xF2581000"
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUsbCfg|L"0xF2440420;0xF2440420"
> - gMarvellTokenSpaceGuid.PcdUtmiPhyRegUtmiCfg|L"0xF2440440;0xF2440444"
> - gMarvellTokenSpaceGuid.PcdUtmiPhyUtmiPort|L"0x0;0x1"
> + gMarvellTokenSpaceGuid.PcdUtmiControllers|{ 0x1, 0x1 }
> + gMarvellTokenSpaceGuid.PcdUtmiPortType|{ 0x0, 0x1 }
>
>
> SPI driver configuration
> --
> 1.8.3.1
>
next prev parent reply other threads:[~2017-10-06 15:54 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-06 7:51 [platforms: PATCH 0/5] Armada 7k/8k - ParsePcdLib removal Marcin Wojtas
2017-10-06 7:51 ` [platforms: PATCH 1/5] Marvell/Library: ComPhyLib: Remove PCD string parsing Marcin Wojtas
2017-10-06 15:52 ` Leif Lindholm
2017-10-06 19:22 ` Marcin Wojtas
2017-10-06 19:51 ` Leif Lindholm
2017-10-06 20:08 ` Marcin Wojtas
2017-10-07 14:17 ` Marcin Wojtas
2017-10-07 14:57 ` Leif Lindholm
2017-10-06 7:51 ` [platforms: PATCH 2/5] Marvell/Drivers: MvI2cDxe: Move devices description to MvHwDescLib Marcin Wojtas
2017-10-06 15:56 ` Leif Lindholm
2017-10-06 19:24 ` Marcin Wojtas
2017-10-06 7:51 ` [platforms: PATCH 3/5] Marvell/Library: UtmiLib: " Marcin Wojtas
2017-10-06 15:57 ` Leif Lindholm [this message]
2017-10-06 19:26 ` Marcin Wojtas
2017-10-06 19:57 ` Leif Lindholm
2017-10-06 7:51 ` [platforms: PATCH 4/5] Marvell/Drivers: Pp2Dxe: Rework PHY handling Marcin Wojtas
2017-10-06 16:02 ` Leif Lindholm
2017-10-06 19:30 ` Marcin Wojtas
2017-10-06 7:51 ` [platforms: PATCH 5/5] Platform/Marvell/Armada: Remove ParsePcdLib Marcin Wojtas
2017-10-06 16:02 ` Leif Lindholm
2017-10-06 14:29 ` [platforms: PATCH 0/5] Armada 7k/8k - ParsePcdLib removal Ard Biesheuvel
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=20171006155743.f4sdanashx4htwbq@bivouac.eciton.net \
--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