From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=104.47.37.53; helo=nam02-cy1-obe.outbound.protection.outlook.com; envelope-from=wasim.khan@nxp.com; receiver=edk2-devel@lists.01.org Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0053.outbound.protection.outlook.com [104.47.37.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id BE747222CB31A for ; Fri, 22 Dec 2017 02:47:45 -0800 (PST) Received: from DM5PR03CA0025.namprd03.prod.outlook.com (10.174.189.142) by CO2PR03MB2359.namprd03.prod.outlook.com (10.166.93.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.345.14; Fri, 22 Dec 2017 10:52:34 +0000 Received: from BL2FFO11FD044.protection.gbl (2a01:111:f400:7c09::139) by DM5PR03CA0025.outlook.office365.com (2603:10b6:4:3b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.345.14 via Frontend Transport; Fri, 22 Dec 2017 10:52:33 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD044.mail.protection.outlook.com (10.173.161.140) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.302.6 via Frontend Transport; Fri, 22 Dec 2017 10:52:18 +0000 Received: from wasimk-VirtualBox.ap.freescale.net (B48164-17.ap.freescale.net [10.232.40.31]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id vBMAq18U014260; Fri, 22 Dec 2017 03:52:30 -0700 From: Wasim Khan To: , , , Date: Fri, 22 Dec 2017 16:21:57 +0530 Message-ID: <1513939917-19336-5-git-send-email-wasim.khan@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1513939917-19336-1-git-send-email-wasim.khan@nxp.com> References: <1513939917-19336-1-git-send-email-wasim.khan@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131584135386344191; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(7966004)(336005)(376002)(346002)(396003)(39860400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(575784001)(356003)(86362001)(4326008)(36756003)(51416003)(8656006)(85426001)(8676002)(81166006)(81156014)(53376002)(77096006)(2201001)(106466001)(105606002)(48376002)(16586007)(6306002)(966005)(59450400001)(2950100002)(110136005)(6666003)(54906003)(97736004)(316002)(76176011)(2906002)(53936002)(498600001)(305945005)(47776003)(104016004)(8936002)(50226002)(5890100001)(68736007)(50466002)(5660300001)(15188155005)(16799955002)(114624004)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR03MB2359; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD044; 1:qlId4S1j5JAzcuDu3EzBsshuYgCXuUY4TAmWpKVIvCFzHjjGEtkz9Y9O0VispngBufLVAaP043p6pyi7YZ+JCtIOG8KiGBHEObd4loa8YLMEKJHbfsgjKsbIqMwZQbgE MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8fc7d974-c1e7-4a65-aaff-08d5492a123e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603307); SRVR:CO2PR03MB2359; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2359; 3:baJoqDHEFpq8kvqlMYSjWTRu/DA1xcKwJP4uj2I4p1zOWDcIUeu3zyZlYURaCB2GhOplaIFGKyrIXoKSc35puNmwaGY70cFa70a0h1TgzFXaXIw1B145zDOdZRIyTIkRmP3zGKpayYHxMdyfDBsRGyxaKAHxvzUx180rQAT4g6ulIfjimpb42mvrE05WwVtF3oQU1tLGB5++gv6YMkCB1wzSB3weX+/+LHyow97/rpUArZEO6WTt9S2N4XPX2JD3iz2IcUUAkYSWNkdtSd657u5o9Yx06qU2dAzw0tACH45YcugWlGF9qFvqDHNZAP0/nnNSNvGvrIXUVbuffv2+k2niRmqsdIHz3KHyFkxtn8M=; 25:tBcbfQv/Kt5CDxfjdWBNjMdXKQvfX5gtsEExh3OPcGIuCWgwMzbuL61vtHLzMYlWw7EElRFFohzI6EylG26hlf3m6EJXSz5cNTqnq/6hPhMxp114/XS/X0aXpWHo7GCShOR3BSp2/joa0kTKzLRtf4OvOqdHxr7tMPLu4xkFMxUaKgJ8Qaj6ykd+W0kUzBIJarOxAv5UbCliQ2rpXBzkOMg7vdQLcp9FlWd8uw5Lk2D6x/APoGuHDua4bzkoALdEo+9qqbQISE7LbUwWokceHigX/Bz3GD0qUaxW9uneIzvaq4QvvuTxIDveQA5KGioCpl/BO5KDnbPuZOVkNvo7KA== X-MS-TrafficTypeDiagnostic: CO2PR03MB2359: X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2359; 31:PqDswfMh3nKl7HDtoJmxhvvAO9uSWhXeioS/wG9TmFmcpZa2DU4q71GLsnFIMIbbjk8wBqFfOghfLjUYMPGcFf9v3PmktlcFsRAoIh++daPhuj7U53G5tm4FM77ZJ7w4HokIS3JkrAIMXZIlv7zv5T8SgHXvYzTIBN01qYOakGcZZOGhmbd4LIMcENsgDfX5X11z1Ujms5T1XwCgNN1tf6F+UqHMN4ENW3Tz5vmy+f4=; 4:YNFzot64NH0UaRGHSU76a1HV+X/01YdagpyBtmuNOH1xnhqNUz3Jl+z642HLOd+qLHMpQhBccHM6soRuWMlJOtyzBuVqLVMAi14JPvQ4sm/0OV0gnebsYE2ALJ5g8ZTnUg4ZQjvtJeWTrTMgBU9ZB2Za9szWruhEpzhUTt+/AC7GJ46R3x9sjhmOeuRcfpwDfgQ6apQvBTpnuh2niiNRsPMXSlOCxjzy2lq/DfbrRH0vX0etIq69CZk/ANQeQuojD90OCZnz5QELFsMQS0xx8GBBhu5AR9cyMdcX1ZH2CXLAKKtqeUJJoLdVI+szcKwL X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(3231023)(3002001)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123556025)(20161123565025)(20161123561025)(20161123559100)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(20161123563025)(201708071742011); SRVR:CO2PR03MB2359; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CO2PR03MB2359; X-Forefront-PRVS: 05299D545B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR03MB2359; 23:ArBqkoFWStVTUwKlEsLqEe1+hqN+BNXz0vROLQUQ0?= =?us-ascii?Q?nCWNiTPNHFbUu4qahy+5EW+ywAU85iLVkFmH6oAukJt0cxAY6rUskro96U8W?= =?us-ascii?Q?Mi7W68vKAQZiE0F1XClPDdioIkf26v+aoZ3717gg6kuiJPG/9FS72LcgIiuI?= =?us-ascii?Q?X24g99szH54PwCXIKfPkCqVgHASD9SSXzWg+JnP1yxI/yfUB7tmPfpEiX+jZ?= =?us-ascii?Q?/nKcbRlGIqxhh8BRzV29zF5wUXWDCR9G+TDtxS9pFCO6YqnS0YxqdP/CZH1N?= =?us-ascii?Q?2D5psm0ss/5qbSBemxpTEfeSgtNXogW0K9YfrL8jbr1MaO+9bCvLCqTHSbrZ?= =?us-ascii?Q?CsT68jJSTCDxNY7ciVfnVTpr1zAf7sXLpbGyq9Sl8aCCdL4paPGk/TeUK4dC?= =?us-ascii?Q?7sPOjw1zIkhiXvBk0ZJjkmAfPdhEI5EoorxOUvIg3Mme23oOhzqXnSy05XRJ?= =?us-ascii?Q?ltdZ9868Cl5JiG7NtUk5t2s3dka8MMWWiAYyJehUY6ZANT7pZczjMFnU5kc7?= =?us-ascii?Q?wq/ZwNXNn0DcitsjX/9f0Tqje9ln75f+U8bXpPp8g25gVTpa3tMXDekfmLor?= =?us-ascii?Q?xefFae9CLSYksFpK6hOemNd1X81eECEIUofeQ5x3DN+Ja7cTHD4Vhg1Ntt4v?= =?us-ascii?Q?4Wg7huDktvshr+35DEWv8AqzNO3G0vjAvyeHwYvu6RMiGE+wq8JxOc+Hv9fi?= =?us-ascii?Q?Dqx9IYPAeJm1vIk5akotzS69JVUZKrND8dqOtODr+KW7+2BFN9G+qcVl9p71?= =?us-ascii?Q?c6b1spPXau9S0F8pnc7PGG1XwYIlv000H2GWzMJw6fJNJ42oEHRKa1n6sM7R?= =?us-ascii?Q?PzKkbanz+XvQ12wUFdUw+yHW+UWsIJbXaaP3XK4e2fJzvEZPKNLp+Gx6nopj?= =?us-ascii?Q?AzFVUhlZsXkPT9+EU+wQhBhRMj2oayAbJrjgHylM5zQh4BSoXWZRLqPdx73/?= =?us-ascii?Q?G6vPYx9Qn8SGQjZZmd9naseinZG9iHzSLuG0rJtS9ZoQwlCifjH0njUYlugw?= =?us-ascii?Q?xPH3DWHN9TbC7yjRNqXXZAAwG/xiX2iR6LSTVABTGhV2uY4TZtEw/o2MPog3?= =?us-ascii?Q?pW1DFlFwkJgzlYTkQWzdtq/IcZjq1GL0w82K5c/QVa4kAlyuyrv+4b2H4M54?= =?us-ascii?Q?cByr1fFwErlQNTHQ6nCbAazrQp4cbVfIxT2qAe5eWUcGDT8YRxyXd9GZ2aQ+?= =?us-ascii?Q?UPi3TkfhPWpICYrF1NLKzfVuoZcqaQ4JM7kW2QdaMkOnFiI6xEEYESVRQw69?= =?us-ascii?Q?dwZDLuU+IB4O7Ie++0hNHClQKGNfZwNvJHgwA4AoL0FGZ/C5LKBiW0Sha4Wz?= =?us-ascii?Q?vCyyoSXoGsWmR53Z+f2/SHmjQyrUzfFHRXlqyOFrZCW?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2359; 6:REAn7VgujjAapAhLSoCg3lR/6yacx2Vj/WBMhdAE+sucafYLcm6P8zZ82P+8ma5idADujQQA5aBQ4r59EpmInnLJ0ceDPCkTPca98FDOAN8dfoOSeNfIhhJr3nVNU4MzpX/40YO/+HNvyNQajiWoWCHeDhIBdVylLY5n78HXDJ5nKhwN1BZpKBtUc4MRNspTskkswHGF+Vg0g+285WjQ7FplXW5Rb0tcHHADkR/JNYMlJWVGybgv/dFT1HhocgVSKuleLVRNL/x/AM2VK0ZeYjJ/o/3OTAASdGNNV3O2TcWkITnQ+jk1SRJXEfpa9FrwkznZrd41NHqWSyrJx890cftlklI4mz5U0w3Fbolj0eQ=; 5:cUpd/ZgEKYAvruOTTjjAEASxVurH5RbVt7M4jDzuXfwdoYGJUge90XTPE+UR42CnVOLIxHkGiT+5kw+lpiVICIHa7Uk9lT/sRvrCRgRyHyUoNSnrYDzHOYVu9q9S35MQj4Vvpz3F0W4p4nyWvJuCebXi/qGk1iAcfpF/Fu4zPxc=; 24:gMBBSBbYHgVIdiufND2FQkFmMEjw11ixhsyFTYVcKTFg9jv3WE1PrjWrelBpmZ8ILfgIwdDCX5cGBb1FYmeyzyxcTT6q9iaW0tqlgsd8E84=; 7:U/OalQyfoU0euHOOOp9k/LV1Jewycms0rg/KUjboPUH/7ZMOaFTNqrKvkXm8IAmjAw0VJhA4zS711yTENHZr0Dmfj9ZihhPdR3Z06Y6xdaFILwUNpH60nQorKUVuVumIoqpDNyKun7XadZ5t5KUhrLElPqs65Qm3cGpq49ONCjOJp95PiC5/8Bg1k13/zkBuiuK8Ln3u/vdXcRrQ/2VtePtTkPn6vlnvmAXQTeWIN/IdhFX5vHj96eOQnDaLYnEI SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2017 10:52:18.4628 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8fc7d974-c1e7-4a65-aaff-08d5492a123e X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR03MB2359 Subject: [PATCH edk2-platforms 4/4] Compilation : Add the fdf, dsc and dec files. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Dec 2017 10:47:46 -0000 Content-Type: text/plain Added firware device, description and declaration files for LS2088ARDB. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Wasim Khan --- Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dec | 29 ++++ Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc | 95 +++++++++++++ Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf | 197 +++++++++++++++++++++++++++ Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc | 98 +++++++++++++ Platform/NXP/NxpQoriqLs.dec | 1 + Silicon/NXP/LS2088A/LS2088A.dec | 22 +++ Silicon/NXP/LS2088A/LS2088A.dsc | 101 ++++++++++++++ 7 files changed, 543 insertions(+) create mode 100644 Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dec create mode 100755 Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc create mode 100644 Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf create mode 100644 Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc create mode 100644 Silicon/NXP/LS2088A/LS2088A.dec create mode 100644 Silicon/NXP/LS2088A/LS2088A.dsc diff --git a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dec b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dec new file mode 100644 index 0000000..93d2e5a --- /dev/null +++ b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dec @@ -0,0 +1,29 @@ +# LS2088aRdbPkg.dec +# LS2088a board package. +# +# Copyright 2017 NXP +# +# 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] + PACKAGE_NAME = LS2088aRdbPkg + PACKAGE_GUID = 474e0c59-5f77-4060-82dd-9025ee4f4939 + +################################################################################ +# +# 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 diff --git a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc new file mode 100755 index 0000000..dbc4d33 --- /dev/null +++ b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc @@ -0,0 +1,95 @@ +# LS2088aRdbPkg.dsc +# +# LS2088ARDB Board package. +# +# Copyright 2017 NXP +# +# 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 Section - statements that will be processed to create a Makefile. +# +################################################################################ +[Defines] + # + # Defines for default states. These can be changed on the command line. + # -D FLAG=VALUE + # + PLATFORM_NAME = LS2088aRdbPkg + PLATFORM_GUID = be06d8bc-05eb-44d6-b39f-191e93617ebd + OUTPUT_DIRECTORY = Build/LS2088aRdbPkg + FLASH_DEFINITION = edk2-platforms/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf + DEFINE MC_HIGH_MEM = TRUE + +!include ../NxpQoriqLs.dsc +!include ../../../Silicon/NXP/LS2088A/LS2088A.dsc + +[LibraryClasses.common] + ArmPlatformLib|edk2-platforms/Platform/NXP/LS2088aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf + ResetSystemLib|ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.inf + SerialPortLib|edk2-platforms/Platform/NXP/Library/DUartPortLib/DUartPortLib.inf + BeIoLib|edk2-platforms/Platform/NXP/Library/BeIoLib/BeIoLib.inf + SocLib|edk2-platforms/Silicon/NXP/Chassis/LS2088aSocLib.inf + RealTimeClockLib|edk2-platforms/Silicon/Maxim/Library/Ds3232RtcLib/Ds3232RtcLib.inf + +[PcdsFixedAtBuild.common] + # + # Board Specific Pcds + # + gNxpQoriqLsTokenSpaceGuid.PcdSerdes2Enabled|TRUE + gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv|0x2 + gNxpQoriqLsTokenSpaceGuid.PcdDdrClk|133333333 + + # + # NV Storage PCDs. + # + gArmTokenSpaceGuid.PcdVFPEnabled|1 + gNxpQoriqLsTokenSpaceGuid.PcdFlashDeviceBase64|0x580000000 + gNxpQoriqLsTokenSpaceGuid.PcdFlashReservedRegionBase64|0x580300000 + + # + # I2C controller Pcds + # + gNxpQoriqLsTokenSpaceGuid.PcdI2cBus|0 + + # + # RTC Pcds + # + gDs3232RtcLibTokenSpaceGuid.PcdI2cSlaveAddress|0x68 + gDs3232RtcLibTokenSpaceGuid.PcdI2cBusFrequency|100000 + gDs3232RtcLibTokenSpaceGuid.PcdIsRtcDeviceMuxed|TRUE + gDs3232RtcLibTokenSpaceGuid.PcdMuxDeviceAddress|0x75 + gDs3232RtcLibTokenSpaceGuid.PcdMuxControlRegOffset|0x09 + gDs3232RtcLibTokenSpaceGuid.PcdMuxRtcChannelValue|0x09 + gDs3232RtcLibTokenSpaceGuid.PcdMuxDefaultChannelValue|0x08 + + # + # Errata Pcds + # + gNxpQoriqLsTokenSpaceGuid.PcdUsbErratumA009007|TRUE + +################################################################################ +# +# Components Section - list of all EDK II Modules needed by this Platform +# +################################################################################ +[Components.common] + + + # + # WatchDog + # + ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf + + # + # I2c + # + edk2-platforms/Platform/NXP/Drivers/I2cDxe/I2cDxe.inf diff --git a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf new file mode 100644 index 0000000..f5d2f0a --- /dev/null +++ b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf @@ -0,0 +1,197 @@ +# LS2088aRdbPkg.fdf +# +# FLASH layout file for LS2088a board. +# +# Copyright (c) 2016, Freescale Ltd. All rights reserved. +# Copyright 2017 NXP +# +# 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. +# + +################################################################################ +# +# FD Section +# The [FD] Section is made up of the definition statements and a +# description of what goes into the Flash Device Image. Each FD section +# defines one flash "device" image. A flash device image may be one of +# the following: Removable media bootable image (like a boot floppy +# image,) an Option ROM image (that would be "flashed" into an add-in +# card,) a System "Flash" image (that would be burned into a system's +# flash) or an Update ("Capsule") image that will be used to update and +# existing system flash. +# +################################################################################ + +[FD.LS2088aRdb_EFI] +BaseAddress = 0x82000000|gArmTokenSpaceGuid.PcdFdBaseAddress #The base address of the FLASH Device. +Size = 0x00100000|gArmTokenSpaceGuid.PcdFdSize #The size in bytes of the FLASH Device +ErasePolarity = 1 +BlockSize = 0x1 +NumBlocks = 0x00100000 + +################################################################################ +# +# Following are lists of FD Region layout which correspond to the locations of different +# images within the flash device. +# +# Regions must be defined in ascending order and may not overlap. +# +# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by +# the pipe "|" character, followed by the size of the region, also in hex with the leading +# "0x" characters. Like: +# Offset|Size +# PcdOffsetCName|PcdSizeCName +# RegionType +# +################################################################################ +0x00000000|0x00100000 +gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize +FV = FVMAIN_COMPACT + +################################################################################ +# +# FV Section +# +# [FV] section is used to define what components or modules are placed within a flash +# device file. This section also defines order the components and modules are positioned +# within the image. The [FV] section consists of define statements, set statements and +# module statements. +# +################################################################################ + +[FV.FvMain] +FvNameGuid = 1037c42b-8452-4c41-aac7-41e6c31468da +BlockSize = 0x1 +NumBlocks = 0 # This FV gets compressed so make it just big enough +FvAlignment = 8 # FV alignment and FV attributes setting. +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE + + INF MdeModulePkg/Core/Dxe/DxeMain.inf + INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf + + # + # PI DXE Drivers producing Architectural Protocols (EFI Services) + # + INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf + + INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf + INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf + INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf + INF ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf + INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf + INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf + INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf + INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf + INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf + INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf + INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf + + # + # Multiple Console IO support + # + INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf + INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf + INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf + INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf + INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf + + INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf + INF EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf + + # + # Network modules + # + INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf + INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf + INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf + INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf + INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf + INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf + INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf + INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf + INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf + INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf +!if $(NETWORK_IP6_ENABLE) == TRUE + INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf + INF NetworkPkg/TcpDxe/TcpDxe.inf + INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf + INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf + INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf +!else + INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf +!endif + + # + # FAT filesystem + GPT/MBR partitioning + # + INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf + INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf + INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf + INF FatPkg/FatPei/FatPei.inf + INF FatPkg/EnhancedFatDxe/Fat.inf + + # + # UEFI application (Shell Embedded Boot Loader) + # + INF ShellPkg/Application/Shell/Shell.inf + + # + # Bds + # + INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf + INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf + INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf + INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf + INF MdeModulePkg/Application/UiApp/UiApp.inf + + INF edk2-platforms/Platform/NXP/Drivers/I2cDxe/I2cDxe.inf + +[FV.FVMAIN_COMPACT] +FvAlignment = 8 +ERASE_POLARITY = 1 +MEMORY_MAPPED = TRUE +STICKY_WRITE = TRUE +LOCK_CAP = TRUE +LOCK_STATUS = TRUE +WRITE_DISABLED_CAP = TRUE +WRITE_ENABLED_CAP = TRUE +WRITE_STATUS = TRUE +WRITE_LOCK_CAP = TRUE +WRITE_LOCK_STATUS = TRUE +READ_DISABLED_CAP = TRUE +READ_ENABLED_CAP = TRUE +READ_STATUS = TRUE +READ_LOCK_CAP = TRUE +READ_LOCK_STATUS = TRUE + + INF ArmPlatformPkg/PrePi/PeiUniCore.inf + + FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { + SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE { + SECTION FV_IMAGE = FVMAIN + } + } + +!include $(WORKSPACE)/ArmVirtPkg/ArmVirtRules.fdf.inc diff --git a/Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc b/Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc new file mode 100644 index 0000000..e3cd598 --- /dev/null +++ b/Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc @@ -0,0 +1,98 @@ +## @file +# FDF include file with FD definition that defines an empty variable store. +# +# Copyright (c) 2016, Freescale Semiconductor. All rights reserved. +# Copyright (c) 2016, Linaro, Ltd. All rights reserved. +# Copyright (C) 2014, Red Hat, Inc. +# Copyright (c) 2006 - 2013, Intel 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. +# +## + +[FD.LS2088aRdbNv_EFI] + +BaseAddress = 0x580300000|gNxpQoriqLsTokenSpaceGuid.PcdNvFdBase #The base address of the FLASH device +Size = 0x000C0000|gNxpQoriqLsTokenSpaceGuid.PcdNvFdSize #The size in bytes of the FLASH device +ErasePolarity = 1 +BlockSize = 0x1 +NumBlocks = 0xC0000 + +# +# Place NV Storage just above Platform Data Base +# +DEFINE NVRAM_AREA_VARIABLE_BASE = 0x00000000 +DEFINE NVRAM_AREA_VARIABLE_SIZE = 0x00040000 +DEFINE FTW_WORKING_BASE = $(NVRAM_AREA_VARIABLE_BASE) + $(NVRAM_AREA_VARIABLE_SIZE) +DEFINE FTW_WORKING_SIZE = 0x00040000 +DEFINE FTW_SPARE_BASE = $(FTW_WORKING_BASE) + $(FTW_WORKING_SIZE) +DEFINE FTW_SPARE_SIZE = 0x00040000 + +############################################################################# +# LS2088ARDB NVRAM Area +# LS2088ARDB NVRAM Area contains: Variable + FTW Working + FTW Spare +############################################################################# + + +$(NVRAM_AREA_VARIABLE_BASE)|$(NVRAM_AREA_VARIABLE_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize +#NV_VARIABLE_STORE +DATA = { + ## This is the EFI_FIRMWARE_VOLUME_HEADER + # ZeroVector [] + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + # FileSystemGuid: gEfiSystemNvDataFvGuid = + # { 0xFFF12B8D, 0x7696, 0x4C8B, + # { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }} + 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C, + 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50, + # FvLength: 0xC0000 + 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, + # Signature "_FVH" # Attributes + 0x5f, 0x46, 0x56, 0x48, 0x36, 0x0E, 0x00, 0x00, + # HeaderLength # CheckSum # ExtHeaderOffset #Reserved #Revision + 0x48, 0x00, 0xFA, 0xF5, 0x00, 0x00, 0x00, 0x02, + # Blockmap[0]: 0x3 Blocks * 0x40000 Bytes / Block + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + # Blockmap[1]: End + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + ## This is the VARIABLE_STORE_HEADER + # It is compatible with SECURE_BOOT_ENABLE == FALSE as well. + # Signature: gEfiAuthenticatedVariableGuid = + # { 0xaaf32c78, 0x947b, 0x439a, + # { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }} + 0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43, + 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92, + # Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) - + # 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x3ffb8 + # This can speed up the Variable Dispatch a bit. + 0xB8, 0xFF, 0x03, 0x00, + # FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32 + 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +$(FTW_WORKING_BASE)|$(FTW_WORKING_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize +#NV_FTW_WORKING +DATA = { + # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid = + # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }} + 0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49, + 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95, + # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved + 0x5b, 0xe7, 0xc6, 0x86, 0xFE, 0xFF, 0xFF, 0xFF, + # WriteQueueSize: UINT64 + 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +$(FTW_SPARE_BASE)|$(FTW_SPARE_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize +#NV_FTW_SPARE diff --git a/Platform/NXP/NxpQoriqLs.dec b/Platform/NXP/NxpQoriqLs.dec index 85a9784..a55ff7a 100644 --- a/Platform/NXP/NxpQoriqLs.dec +++ b/Platform/NXP/NxpQoriqLs.dec @@ -233,6 +233,7 @@ gNxpQoriqLsTokenSpaceGuid.PcdMdioBustCount|0x0|UINT8|0x000002EE gNxpQoriqLsTokenSpaceGuid.PcdDpaa2Wriop1Mdio1Addr|0x0|UINT64|0x000002EF gNxpQoriqLsTokenSpaceGuid.PcdDpaa2Wriop1Mdio2Addr|0x0|UINT64|0x000002F0 + gNxpQoriqLsTokenSpaceGuid.PcdMcHighMemSupport|FALSE|BOOLEAN|0x000002F1 # # USB Pcds diff --git a/Silicon/NXP/LS2088A/LS2088A.dec b/Silicon/NXP/LS2088A/LS2088A.dec new file mode 100644 index 0000000..8539c63 --- /dev/null +++ b/Silicon/NXP/LS2088A/LS2088A.dec @@ -0,0 +1,22 @@ +# LS2088A.dec +# +# Copyright 2017 NXP +# +# 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 = 0x00010005 + +[Guids.common] + gNxpLs2088ATokenSpaceGuid = {0xaf770da7, 0x264c, 0x4857, {0x9d, 0xed, 0x56, 0x5e, 0x2c, 0x08, 0x7e, 0x26}} + +[Includes] + Include diff --git a/Silicon/NXP/LS2088A/LS2088A.dsc b/Silicon/NXP/LS2088A/LS2088A.dsc new file mode 100644 index 0000000..4d1b399 --- /dev/null +++ b/Silicon/NXP/LS2088A/LS2088A.dsc @@ -0,0 +1,101 @@ +# LS2088A.dsc +# LS2088A Soc package. +# +# Copyright 2017 NXP +# +# 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. +# +# + +################################################################################ +# +# Pcd Section - list of all EDK II PCD Entries defined by this Platform +# +################################################################################ +[PcdsDynamicDefault.common] + + # + # ARM General Interrupt Controller + gArmTokenSpaceGuid.PcdGicDistributorBase|0x6000000 + gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x6100000 + gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x00 + +[PcdsFixedAtBuild.common] + + gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x0C000000 + gArmPlatformTokenSpaceGuid.PcdSP805WatchdogClockFrequencyInHz|266666666 #266MHz + + ## Serial Terminal + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x21c0600 + + # + # ARM L2x0 PCDs + gArmTokenSpaceGuid.PcdL2x0ControllerBase|0x10900000 + + # + # UEFI Region in System Memory + # + + gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x02000000 + + # + # CCSR Address Space and other attached Memories + # + gNxpQoriqLsTokenSpaceGuid.PcdCcsrBaseAddr|0x01000000 + gNxpQoriqLsTokenSpaceGuid.PcdCcsrSize|0x0F000000 + gNxpQoriqLsTokenSpaceGuid.PcdClkBaseAddr|0x1370000 + gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1BaseAddr|0x30000000 + gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1Size|0x10000000 + gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2BaseAddr|0x510000000 + gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2Size|0xF0000000 + gNxpQoriqLsTokenSpaceGuid.PcdIfcNandReservedSize|0x3EEA + gNxpQoriqLsTokenSpaceGuid.PcdQspiRegionBaseAddr|0x20000000 + gNxpQoriqLsTokenSpaceGuid.PcdQspiRegionSize|0x10000000 + gNxpQoriqLsTokenSpaceGuid.PcdQspiRegion2BaseAddr|0x400000000 + gNxpQoriqLsTokenSpaceGuid.PcdQspiRegion2Size|0x10000000 + gNxpQoriqLsTokenSpaceGuid.PcdPciExp1BaseAddr|0x2000000000 + gNxpQoriqLsTokenSpaceGuid.PcdPciExp1BaseSize|0x800000000 # 32 GB + gNxpQoriqLsTokenSpaceGuid.PcdPciExp2BaseAddr|0x2800000000 + gNxpQoriqLsTokenSpaceGuid.PcdPciExp2BaseSize|0x800000000 # 32 GB + gNxpQoriqLsTokenSpaceGuid.PcdPciExp3BaseAddr|0x3000000000 + gNxpQoriqLsTokenSpaceGuid.PcdPciExp3BaseSize|0x800000000 # 32 GB + gNxpQoriqLsTokenSpaceGuid.PcdPciExp4BaseAddr|0x3800000000 + gNxpQoriqLsTokenSpaceGuid.PcdPciExp4BaseSize|0x800000000 # 32 GB + gNxpQoriqLsTokenSpaceGuid.PcdSystemMemoryExBase|0x8080000000 # Extended System Memory Base + gNxpQoriqLsTokenSpaceGuid.PcdSystemMemoryExSize|0x0380000000 # 14GB Extended System Memory Size +!if $(MC_HIGH_MEM) == TRUE # Management Complex loaded at the end of DDR2 + gNxpQoriqLsTokenSpaceGuid.PcdDram1BaseAddr|0x0080000000 # Actual base address (0x0080000000) + gNxpQoriqLsTokenSpaceGuid.PcdDram1Size|0x0080000000 # 2 GB + gNxpQoriqLsTokenSpaceGuid.PcdDpaa2McRamSize|0x80000000 # 2GB (PcdDpaa2McRamSize must be 512MB aligned) + gNxpQoriqLsTokenSpaceGuid.PcdMcHighMemSupport|1 + gArmTokenSpaceGuid.PcdSystemMemoryBase|0x0080000000 # Actual base + gArmTokenSpaceGuid.PcdSystemMemorySize|0x0080000000 # 2G +!else + gNxpQoriqLsTokenSpaceGuid.PcdDram1BaseAddr|0x00A0000000 # Actual base address (0x0080000000) + 512MB + gNxpQoriqLsTokenSpaceGuid.PcdDram1Size|0x0060000000 # 2GB - 512MB + gNxpQoriqLsTokenSpaceGuid.PcdDpaa2McRamSize|0x20000000 # 512MB (Fixed) + gNxpQoriqLsTokenSpaceGuid.PcdMcHighMemSupport|0 + gArmTokenSpaceGuid.PcdSystemMemoryBase|0x00A0000000 # Actual base + 512MB + gArmTokenSpaceGuid.PcdSystemMemorySize|0x0060000000 # 2G - 512MB +!endif + gNxpQoriqLsTokenSpaceGuid.PcdDramMemSize|0x380000000 # 14 GB + gNxpQoriqLsTokenSpaceGuid.PcdDram2BaseAddr|0x8080000000 + gNxpQoriqLsTokenSpaceGuid.PcdDram2Size|0x8800000000 # 512 GB + gNxpQoriqLsTokenSpaceGuid.PcdUsbBaseAddr|0x3100000 + gNxpQoriqLsTokenSpaceGuid.PcdUsbSize|0x10000 + gNxpQoriqLsTokenSpaceGuid.PcdNumUsbController|2 + gNxpQoriqLsTokenSpaceGuid.PcdGutsBaseAddr|0x1E00000 + gNxpQoriqLsTokenSpaceGuid.PcdSdxcBaseAddr|0x02140000 + gNxpQoriqLsTokenSpaceGuid.PcdI2c0BaseAddr|0x02000000 + gNxpQoriqLsTokenSpaceGuid.PcdI2c1BaseAddr|0x02010000 + gNxpQoriqLsTokenSpaceGuid.PcdI2c2BaseAddr|0x02020000 + gNxpQoriqLsTokenSpaceGuid.PcdI2c3BaseAddr|0x02030000 + gNxpQoriqLsTokenSpaceGuid.PcdNumI2cController|4 + +## -- 2.7.4