Re: [edk2] [PATCH edk2-platforms 38/39] Platform/NXP:PCIe enablement for LS1046A RDB

2018-04-24 Thread Vabhav Sharma


>-Original Message-
>From: Leif Lindholm [mailto:leif.lindh...@linaro.org]
>Sent: Friday, April 20, 2018 9:03 PM
>To: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com>
>Cc: ard.biesheu...@linaro.org; edk2-devel@lists.01.org; Udit Kumar
><udit.ku...@nxp.com>; Varun Sethi <v.se...@nxp.com>; Vabhav Sharma
><vabhav.sha...@nxp.com>
>Subject: Re: [PATCH edk2-platforms 38/39] Platform/NXP:PCIe enablement for
>LS1046A RDB
>
>On Fri, Feb 16, 2018 at 02:20:34PM +0530, Meenakshi wrote:
>> From: Vabhav <vabhav.sha...@nxp.com>
>>
>> Compilation: Update the fdf, dsc and dec files.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Vabhav <vabhav.sha...@nxp.com>
>> ---
>>  Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc  | 15
>+++
>>  Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf  |  9 +
>>  .../LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf  |  2 ++
>> .../NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c |  6 ++
>>  Silicon/NXP/LS1046A/LS1046A.dsc   |  3 +++
>>  5 files changed, 35 insertions(+)
>>
>> diff --git a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
>> b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
>> index 36002d5..231207d 100644
>> --- a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
>> +++ b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
>> @@ -41,6 +41,8 @@
>>IfcLib|Silicon/NXP/Library/IfcLib/IfcLib.inf
>>BoardLib|Platform/NXP/LS1046aRdbPkg/Library/BoardLib/BoardLib.inf
>>FpgaLib|Platform/NXP/LS1046aRdbPkg/Library/FpgaLib/FpgaLib.inf
>> +  PciSegmentLib|Silicon/NXP/Library/PciSegmentLib/PciSegmentLib.inf
>> +
>> + PciHostBridgeLib|Silicon/NXP/Library/PciHostBridgeLib/PciHostBridgeL
>> + ib.inf
>>
>>  [PcdsFixedAtBuild.common]
>>
>> @@ -65,6 +67,7 @@
>>gNxpQoriqLsTokenSpaceGuid.PcdGurBigEndian|TRUE
>>gNxpQoriqLsTokenSpaceGuid.PcdWdogBigEndian|TRUE
>>gNxpQoriqLsTokenSpaceGuid.PcdIfcBigEndian|TRUE
>> +  gNxpQoriqLsTokenSpaceGuid.PcdPciLutBigEndian|TRUE
>>
>>#
>># I2C controller Pcds
>> @@ -77,6 +80,12 @@
>>gNxpQoriqLsTokenSpaceGuid.PcdI2cSlaveAddress|0x51
>>gNxpQoriqLsTokenSpaceGuid.PcdI2cSpeed|10
>>
>> +  #
>> +  # PCI PCDs.
>> +  #
>> +  gNxpQoriqLsTokenSpaceGuid.PcdPciDebug|FALSE
>> +  gNxpQoriqLsTokenSpaceGuid.PcdPcieLutBase|0x8
>> +  gNxpQoriqLsTokenSpaceGuid.PcdPcieLutDbg|0x407FC
>>
>>
>##
>
>> ##
>>  #
>>  # Components Section - list of all EDK II Modules needed by this
>> Platform @@ -90,5 +99,11 @@
>>
>>Silicon/NXP/Drivers/WatchDog/WatchDogDxe.inf
>>Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf
>> +  Silicon/NXP/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
>> +  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
>> +
>> +  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8010004F
>> +  }
>> +  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
>>
>>   ##
>> diff --git a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
>> b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
>> index 834e3a4..3351a06 100644
>> --- a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
>> +++ b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
>> @@ -123,6 +123,13 @@ READ_LOCK_STATUS   = TRUE
>>INF EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
>>
>>#
>> +  # PCI
>> +  #
>> +  INF Silicon/NXP/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
>> +  INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
>> +  INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
>> +
>> +  #
>># Network modules
>>#
>>INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
>> @@ -147,6 +154,8 @@ READ_LOCK_STATUS   = TRUE
>>INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
>>  !endif
>>
>> +  INF
>> +
>ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
>> +
>
>Same comment as for previous platform(s): please conditionalise and mention in
>commit message.
>
>/
>Leif
Ok, I will update it.
>
>>#
>># FAT filesystem + GPT/MBR partitioning
>>#
>> diff --git
>> a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf
>> b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf
>> index 49b57fc..5e09757 100644
>> ---
>> a/Platform/NXP/LS1046aRdbPkg/Librar

Re: [edk2] [PATCH edk2-platforms 38/39] Platform/NXP:PCIe enablement for LS1046A RDB

2018-04-20 Thread Leif Lindholm
On Fri, Feb 16, 2018 at 02:20:34PM +0530, Meenakshi wrote:
> From: Vabhav 
> 
> Compilation: Update the fdf, dsc and dec files.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Vabhav 
> ---
>  Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc  | 15 
> +++
>  Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf  |  9 +
>  .../LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf  |  2 ++
>  .../NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c |  6 ++
>  Silicon/NXP/LS1046A/LS1046A.dsc   |  3 +++
>  5 files changed, 35 insertions(+)
> 
> diff --git a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc 
> b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
> index 36002d5..231207d 100644
> --- a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
> +++ b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
> @@ -41,6 +41,8 @@
>IfcLib|Silicon/NXP/Library/IfcLib/IfcLib.inf
>BoardLib|Platform/NXP/LS1046aRdbPkg/Library/BoardLib/BoardLib.inf
>FpgaLib|Platform/NXP/LS1046aRdbPkg/Library/FpgaLib/FpgaLib.inf
> +  PciSegmentLib|Silicon/NXP/Library/PciSegmentLib/PciSegmentLib.inf
> +  PciHostBridgeLib|Silicon/NXP/Library/PciHostBridgeLib/PciHostBridgeLib.inf
>  
>  [PcdsFixedAtBuild.common]
>  
> @@ -65,6 +67,7 @@
>gNxpQoriqLsTokenSpaceGuid.PcdGurBigEndian|TRUE
>gNxpQoriqLsTokenSpaceGuid.PcdWdogBigEndian|TRUE
>gNxpQoriqLsTokenSpaceGuid.PcdIfcBigEndian|TRUE
> +  gNxpQoriqLsTokenSpaceGuid.PcdPciLutBigEndian|TRUE
>  
>#
># I2C controller Pcds
> @@ -77,6 +80,12 @@
>gNxpQoriqLsTokenSpaceGuid.PcdI2cSlaveAddress|0x51
>gNxpQoriqLsTokenSpaceGuid.PcdI2cSpeed|10
>  
> +  #
> +  # PCI PCDs.
> +  #
> +  gNxpQoriqLsTokenSpaceGuid.PcdPciDebug|FALSE
> +  gNxpQoriqLsTokenSpaceGuid.PcdPcieLutBase|0x8
> +  gNxpQoriqLsTokenSpaceGuid.PcdPcieLutDbg|0x407FC
>  
> 
>  #
>  # Components Section - list of all EDK II Modules needed by this Platform
> @@ -90,5 +99,11 @@
>  
>Silicon/NXP/Drivers/WatchDog/WatchDogDxe.inf
>Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf
> +  Silicon/NXP/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
> +  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
> +
> +  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8010004F
> +  }
> +  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
>  
>   ##
> diff --git a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf 
> b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
> index 834e3a4..3351a06 100644
> --- a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
> +++ b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
> @@ -123,6 +123,13 @@ READ_LOCK_STATUS   = TRUE
>INF EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
>  
>#
> +  # PCI
> +  #
> +  INF Silicon/NXP/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
> +  INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
> +  INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
> +
> +  #
># Network modules
>#
>INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
> @@ -147,6 +154,8 @@ READ_LOCK_STATUS   = TRUE
>INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
>  !endif
>  
> +  INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
> +

Same comment as for previous platform(s): please conditionalise and
mention in commit message.

/
Leif

>#
># FAT filesystem + GPT/MBR partitioning
>#
> diff --git 
> a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf 
> b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf
> index 49b57fc..5e09757 100644
> --- a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf
> +++ b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf
> @@ -42,6 +42,8 @@
>gArmTokenSpaceGuid.PcdArmPrimaryCore
>gNxpQoriqLsTokenSpaceGuid.PcdCcsrBaseAddr
>gNxpQoriqLsTokenSpaceGuid.PcdCcsrSize
> +  gNxpQoriqLsTokenSpaceGuid.PcdRomBaseAddr
> +  gNxpQoriqLsTokenSpaceGuid.PcdRomSize
>gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1BaseAddr
>gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1Size
>gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2BaseAddr
> diff --git a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c 
> b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c
> index 64c5612..1ef3292 100644
> --- a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c
> +++ b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c
> @@ -67,6 +67,12 @@ ArmPlatformGetVirtualMemoryMap (
>VirtualMemoryTable[Index].Length   = FixedPcdGet64 (PcdCcsrSize);
>VirtualMemoryTable[Index].Attributes   = 
> ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
>  
> +  // ROM Space
> +  VirtualMemoryTable[++Index].PhysicalBase = FixedPcdGet64 (PcdRomBaseAddr);
> +  VirtualMemoryTable[Index].VirtualBase  = FixedPcdGet64 (PcdRomBaseAddr);
> +  VirtualMemoryTable[Index].Length   = 

[edk2] [PATCH edk2-platforms 38/39] Platform/NXP:PCIe enablement for LS1046A RDB

2018-02-16 Thread Meenakshi
From: Vabhav 

Compilation: Update the fdf, dsc and dec files.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Vabhav 
---
 Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc  | 15 +++
 Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf  |  9 +
 .../LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf  |  2 ++
 .../NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c |  6 ++
 Silicon/NXP/LS1046A/LS1046A.dsc   |  3 +++
 5 files changed, 35 insertions(+)

diff --git a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc 
b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
index 36002d5..231207d 100644
--- a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
+++ b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.dsc
@@ -41,6 +41,8 @@
   IfcLib|Silicon/NXP/Library/IfcLib/IfcLib.inf
   BoardLib|Platform/NXP/LS1046aRdbPkg/Library/BoardLib/BoardLib.inf
   FpgaLib|Platform/NXP/LS1046aRdbPkg/Library/FpgaLib/FpgaLib.inf
+  PciSegmentLib|Silicon/NXP/Library/PciSegmentLib/PciSegmentLib.inf
+  PciHostBridgeLib|Silicon/NXP/Library/PciHostBridgeLib/PciHostBridgeLib.inf
 
 [PcdsFixedAtBuild.common]
 
@@ -65,6 +67,7 @@
   gNxpQoriqLsTokenSpaceGuid.PcdGurBigEndian|TRUE
   gNxpQoriqLsTokenSpaceGuid.PcdWdogBigEndian|TRUE
   gNxpQoriqLsTokenSpaceGuid.PcdIfcBigEndian|TRUE
+  gNxpQoriqLsTokenSpaceGuid.PcdPciLutBigEndian|TRUE
 
   #
   # I2C controller Pcds
@@ -77,6 +80,12 @@
   gNxpQoriqLsTokenSpaceGuid.PcdI2cSlaveAddress|0x51
   gNxpQoriqLsTokenSpaceGuid.PcdI2cSpeed|10
 
+  #
+  # PCI PCDs.
+  #
+  gNxpQoriqLsTokenSpaceGuid.PcdPciDebug|FALSE
+  gNxpQoriqLsTokenSpaceGuid.PcdPcieLutBase|0x8
+  gNxpQoriqLsTokenSpaceGuid.PcdPcieLutDbg|0x407FC
 

 #
 # Components Section - list of all EDK II Modules needed by this Platform
@@ -90,5 +99,11 @@
 
   Silicon/NXP/Drivers/WatchDog/WatchDogDxe.inf
   Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf
+  Silicon/NXP/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
+  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
+
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8010004F
+  }
+  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
 
  ##
diff --git a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf 
b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
index 834e3a4..3351a06 100644
--- a/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
+++ b/Platform/NXP/LS1046aRdbPkg/LS1046aRdbPkg.fdf
@@ -123,6 +123,13 @@ READ_LOCK_STATUS   = TRUE
   INF EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
 
   #
+  # PCI
+  #
+  INF Silicon/NXP/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
+  INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
+  INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
+
+  #
   # Network modules
   #
   INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
@@ -147,6 +154,8 @@ READ_LOCK_STATUS   = TRUE
   INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
 !endif
 
+  INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+
   #
   # FAT filesystem + GPT/MBR partitioning
   #
diff --git a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf 
b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf
index 49b57fc..5e09757 100644
--- a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf
+++ b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf
@@ -42,6 +42,8 @@
   gArmTokenSpaceGuid.PcdArmPrimaryCore
   gNxpQoriqLsTokenSpaceGuid.PcdCcsrBaseAddr
   gNxpQoriqLsTokenSpaceGuid.PcdCcsrSize
+  gNxpQoriqLsTokenSpaceGuid.PcdRomBaseAddr
+  gNxpQoriqLsTokenSpaceGuid.PcdRomSize
   gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1BaseAddr
   gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1Size
   gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2BaseAddr
diff --git a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c 
b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c
index 64c5612..1ef3292 100644
--- a/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c
+++ b/Platform/NXP/LS1046aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c
@@ -67,6 +67,12 @@ ArmPlatformGetVirtualMemoryMap (
   VirtualMemoryTable[Index].Length   = FixedPcdGet64 (PcdCcsrSize);
   VirtualMemoryTable[Index].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
 
+  // ROM Space
+  VirtualMemoryTable[++Index].PhysicalBase = FixedPcdGet64 (PcdRomBaseAddr);
+  VirtualMemoryTable[Index].VirtualBase  = FixedPcdGet64 (PcdRomBaseAddr);
+  VirtualMemoryTable[Index].Length   = FixedPcdGet64 (PcdRomSize);
+  VirtualMemoryTable[Index].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
+
   // IFC region 1
   //
   // A-009241   : Unaligned write transactions to IFC may result in corruption 
of data
diff --git a/Silicon/NXP/LS1046A/LS1046A.dsc b/Silicon/NXP/LS1046A/LS1046A.dsc
index 9f87028..59a6150 100644
--- a/Silicon/NXP/LS1046A/LS1046A.dsc
+++ b/Silicon/NXP/LS1046A/LS1046A.dsc
@@