On Fri, Sep 21, 2018 at 08:26:00AM +0000, Chris Co wrote:
> This adds PCD declarations common across NXP i.MX6 SoCs
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Christopher Co <[email protected]>
> Cc: Ard Biesheuvel <[email protected]>
> Cc: Leif Lindholm <[email protected]>
> Cc: Michael D Kinney <[email protected]>
> ---
>  Silicon/NXP/iMX6Pkg/iMX6Pkg.dec | 143 ++++++++++++++++++++
>  1 file changed, 143 insertions(+)
> 
> diff --git a/Silicon/NXP/iMX6Pkg/iMX6Pkg.dec b/Silicon/NXP/iMX6Pkg/iMX6Pkg.dec
> new file mode 100644
> index 000000000000..99e1c7e6a4b8
> --- /dev/null
> +++ b/Silicon/NXP/iMX6Pkg/iMX6Pkg.dec
> @@ -0,0 +1,143 @@
> +#
> +#  Copyright (c) 2018 Microsoft Corporation. All rights reserved.
> +#
> +#  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]
> +  DEC_SPECIFICATION              = 0x0001001A
> +  PACKAGE_NAME                   = iMX6Pkg
> +  PACKAGE_GUID                   = 6eba6648-d853-4eb3-9761-528b82d5ab04
> +  PACKAGE_VERSION                = 0.1
> +
> +################################################################################
> +#
> +# Include Section - list of Include Paths that are provided by this package.
> +#                   Comments are used for Keywords and Module Types.
> +#
> +# Supported Module Types:
> +#  BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER 
> DXE_SMM_DRIVER
> +#  DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
> +#
> +################################################################################
> +[Includes.common]
> +  Include                        # Root include for the package
> +  Silicon/NXP/iMXPlatformPkg/Include      # Root include for the iMXPlatform 
> package
> +
> +[LibraryClasses]
> +  iMXIoMuxLib|Silicon/NXP/iMX6Pkg/Include/iMX6IoMux.h
> +  iMX6ClkPwrLib|Silicon/NXP/iMX6Pkg/Include/iMX6ClkPwr.h
> +  iMX6UsbPhyLib|Silicon/NXP/iMX6Pkg/Include/iMX6UsbPhy.h
> +
> +[Protocols.common]
> +  gEfiSdhcProtocolGuid = { 0x46055b0f, 0x992a, 0x4ad7, { 0x8f, 0x81, 0x14, 
> 0x81, 0x86, 0xff, 0xdf, 0x72 } }

This is too generic a name to belong to a protocol GUID defined in a
platform-specific package. (But the Sdhc implementation is a bit up in
the air, so...)

> +
> +[Guids.common]
> +  giMX6TokenSpaceGuid = { 0x24b09abe, 0x4e47, 0x481c, { 0xa9, 0xad, 0xce, 
> 0xf1, 0x2c, 0x39, 0x23, 0x27} }
> +
> +[PcdsFixedAtBuild.common]
> +  #
> +  # Frame buffer is set to the first addressable memory on the i.MX6
> +  # Sabre board for convenience.
> +  # Keep in mind that this chunk of memory is the only one that remains fixed
> +  # through the various boot stages (primary boot->UEFI->Windows.
> +  #
> +  giMX6TokenSpaceGuid.PcdFrameBufferBase|0x10000000|UINT32|0x0000000A
> +  giMX6TokenSpaceGuid.PcdFrameBufferSize|0x00800000|UINT32|0x0000000B
> +
> +  #
> +  # Performance counter
> +  #
> +  
> gEmbeddedTokenSpaceGuid.PcdEmbeddedFdPerformanceCounterFrequencyInHz|1000000|UINT32
>  |0xC
> +  
> gEmbeddedTokenSpaceGuid.PcdEmbeddedFdPerformanceCounterPeriodInNanoseconds|1000|UINT32
>  |0xD

These would need to be defined in EmbeddedPkg.dec.
Can't hijack other packages' namespace.

/
    Leif

> +
> +  #
> +  # USB EHCI Controller
> +  #
> +  giMX6TokenSpaceGuid.PcdEHCIBase|0x02184000|UINT32|0xE
> +  giMX6TokenSpaceGuid.PcdEHCILength|0x4000|UINT32|0xF
> +  giMX6TokenSpaceGuid.PcdIsUsbPortOTG|TRUE|BOOLEAN|0x10
> +  giMX6TokenSpaceGuid.PcdUSBOTGBase|0x02184000|UINT32|0x11
> +
> +  #
> +  # ARM System Reset Controller (SRC)
> +  #
> +  giMX6TokenSpaceGuid.PcdSrcBase|0x020D8000|UINT32|0x2B
> +
> +  #
> +  # PCIE
> +  #
> +  # PCI Host config space is fixed at 0x01FFC000. The memory range from
> +  # 0x01000000 - 0x01FFBFFF is assigned for PCIe. The memory layout defined
> +  # by the boot loader is as below
> +  #
> +  # PCIe Device Config Space : 0x01F00000 - 0x01F80000
> +  # PCIe IO (unsupported) : 0x01100000 - 0x011FFFFF
> +  # PCIe Memory : 0x01200000 - 0x012FFFFF
> +  #
> +  giMX6TokenSpaceGuid.PcdPcieDeviceConfigBase|0x01F00000|UINT32|0x2C
> +  giMX6TokenSpaceGuid.PcdPcieDeviceConfigSize|0x00080000|UINT32|0x2D
> +  giMX6TokenSpaceGuid.PcdPcieHostConfigBase|0x01FFC000|UINT32|0x2E
> +  giMX6TokenSpaceGuid.PcdPcieIOBase|0x00000000|UINT32|0x2F
> +  giMX6TokenSpaceGuid.PcdPcieIOSize|0x00000000|UINT32|0x30
> +  giMX6TokenSpaceGuid.PcdPciMemoryBase|0x01100000|UINT32|0x31
> +  giMX6TokenSpaceGuid.PcdPciMemorySize|0x00D00000|UINT32|0x32
> +  giMX6TokenSpaceGuid.PcdPciPrefetchMemoryBase|0x00000000|UINT32|0x33
> +  giMX6TokenSpaceGuid.PcdPciPrefetchMemorySize|0x00000000|UINT32|0x34
> +  giMX6TokenSpaceGuid.PcdPcieResetGpio|FALSE|BOOLEAN|0x35
> +  giMX6TokenSpaceGuid.PcdPcieResetGpioBankNumber|0|UINT32|0x36
> +  giMX6TokenSpaceGuid.PcdPcieResetGpioIoNumber|0|UINT32|0x37
> +
> +  #
> +  # SMBIOS Type1
> +  #
> +  giMX6TokenSpaceGuid.PcdSystemFamily|L""|VOID*|0x38
> +  giMX6TokenSpaceGuid.PcdSystemManufacturer|L""|VOID*|0x39
> +  giMX6TokenSpaceGuid.PcdSystemProductName|L""|VOID*|0x3A
> +  giMX6TokenSpaceGuid.PcdSystemSkuNumber|L""|VOID*|0x3B
> +  giMX6TokenSpaceGuid.PcdSystemVersionNumber|L""|VOID*|0x3C
> +  giMX6TokenSpaceGuid.PcdSystemUuid|{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
> 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}|VOID*|0x3D
> +
> +  #
> +  # SMBIOS Type2
> +  #
> +  giMX6TokenSpaceGuid.PcdBoardAssetTag|L""|VOID*|0x3E
> +  giMX6TokenSpaceGuid.PcdBoardLocationInChassis|L""|VOID*|0x3F
> +  giMX6TokenSpaceGuid.PcdBoardManufacturer|L""|VOID*|0x40
> +  giMX6TokenSpaceGuid.PcdBoardProductName|L""|VOID*|0x41
> +  giMX6TokenSpaceGuid.PcdBoardVersionNumber|L""|VOID*|0x42
> +
> +  #
> +  # SMBIOS Type3
> +  #
> +  giMX6TokenSpaceGuid.PcdChassisAssetTag|L""|VOID*|0x43
> +  giMX6TokenSpaceGuid.PcdChassisManufacturer|L""|VOID*|0x44
> +  giMX6TokenSpaceGuid.PcdChassisVersionNumber|L""|VOID*|0x45
> +
> +  # SMBIOS Type4
> +  giMX6TokenSpaceGuid.PcdProcessorAssetTag|L""|VOID*|0x46
> +  giMX6TokenSpaceGuid.PcdProcessorManufacturer|L""|VOID*|0x47
> +  giMX6TokenSpaceGuid.PcdProcessorPartNumber|L""|VOID*|0x48
> +  giMX6TokenSpaceGuid.PcdProcessorSocketDesignation|L""|VOID*|0x49
> +  giMX6TokenSpaceGuid.PcdProcessorVersionNumber|L""|VOID*|0x4A
> +
> +  # SMBIOS Type16
> +  giMX6TokenSpaceGuid.PcdPhysicalMemoryMaximumCapacity|0x0|UINT32|0x4B
> +
> +  # SMBIOS Type17
> +  giMX6TokenSpaceGuid.PcdMemoryBankLocation|L""|VOID*|0x4C
> +  giMX6TokenSpaceGuid.PcdMemoryDeviceLocation|L""|VOID*|0x4D
> +
> +  # SMBIOS Type19
> +  giMX6TokenSpaceGuid.PcdMemoryEndAddress|0x0|UINT32|0x4E
> +  giMX6TokenSpaceGuid.PcdMemoryStartAddress|0x0|UINT32|0x4F
> +
> +[PcdsFeatureFlag.common]
> +  giMX6TokenSpaceGuid.PcdGpuEnable|FALSE|BOOLEAN|0x00001000
> +  giMX6TokenSpaceGuid.PcdLvdsEnable|FALSE|BOOLEAN|0x00001001
> -- 
> 2.16.2.gvfs.1.33.gf5370f1
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to