From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-AM5-obe.outbound.protection.outlook.com (EUR02-AM5-obe.outbound.protection.outlook.com [40.107.0.66]) by mx.groups.io with SMTP id smtpd.web12.7614.1581410716025633237 for ; Tue, 11 Feb 2020 00:45:17 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nxp.com header.s=selector2 header.b=B1QGnt3k; spf=pass (domain: nxp.com, ip: 40.107.0.66, mailfrom: pankaj.bansal@nxp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DN7RKwnQSPy7GYlbvlcDEgUWdxHte0Guqy+m+a4rENddRGVZWN+WvhM6YcrVmvEYi5vYedgVE6H44++UWja820PIqnnv/T4EF9NhanMXw5x1dUfb62+8KJfRa489fOZ4yQz7P1uv1Fa8u+DLYLTcnerhODp7XZwv16BPsGYhn7PpnmJOq7OEUEvVm/0Vf1JDqRxM9dQTrtqKvxqXr/4rSBIECg1rG7o5kHMEsaijY5pQbKQSm9fJlKG3n9ZxvlDArjs2VOY4KF0mjRMwINwN0JqvhD0yOG9NshQjhV83wHJzCliZLnqlkD7H6Fxjt/6ygqNatNaV61qWlasQ3NjfFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=12rGbHBs03Fyg+yvD0DUa2yFp3+eq2hqiQmL4Y0Vc8U=; b=iyHk3ycHwgsA9EWlkgssxWPuw81//x+pesC08DxpSv5EgjrIGiQmQEYEDa0t2pTorcgINq989oa2OqcI8KtOUyRZYbaubKP6hfaRcYzsrCkkX/WaXRjmFc5OzyRhzUm/pNoHu05ON3ZzpwVO3eDzZCFMDM5f3w1onkWexpSN+1YXAM+UgMK4hj2l/kvrynPu6uZ8+cp1qmwkCoItNrhcL00hFHg8QsFRDYu6ey1cLJNlAfxJ9iqtLyo6dP/6JG5MQdKhZ1bpxpNS8oG5oUADVeHYYJ8nSVZTjt4duZO5/VgYwH0wZPIuenoZwgwqf91E0XjuDHQOgwxsEczOG1YMkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=12rGbHBs03Fyg+yvD0DUa2yFp3+eq2hqiQmL4Y0Vc8U=; b=B1QGnt3kMn6O4F7nMzskUyp8nGxnGxr+bFs61jVd9gfKZg/GkM1lREwdSWBA6T2AM/tEwXKcFNzd6Z+NSlrvWryz0lIYwpNdx5tKLyhncqk4FOU7AugWJkvVx8T9UqCeaeVjxU05p9xxHD7tnqoIJmtfbufz3eixdrH7pG13hpA= Received: from VI1PR0401MB2496.eurprd04.prod.outlook.com (10.168.65.10) by VI1PR0401MB2639.eurprd04.prod.outlook.com (10.168.66.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2707.25; Tue, 11 Feb 2020 08:45:13 +0000 Received: from VI1PR0401MB2496.eurprd04.prod.outlook.com ([fe80::8823:663d:c6ed:cbd6]) by VI1PR0401MB2496.eurprd04.prod.outlook.com ([fe80::8823:663d:c6ed:cbd6%12]) with mapi id 15.20.2707.030; Tue, 11 Feb 2020 08:45:13 +0000 From: "Pankaj Bansal" To: Leif Lindholm CC: Meenakshi Aggarwal , Michael D Kinney , Varun Sethi , "devel@edk2.groups.io" Subject: Re: [PATCH 08/19] Silicon/NXP: Remove unnecessary PCDs Thread-Topic: [PATCH 08/19] Silicon/NXP: Remove unnecessary PCDs Thread-Index: AQHV3YeTAVufPEBc8E+Dv/rNrF8G5agUtPAAgADofuA= Date: Tue, 11 Feb 2020 08:45:13 +0000 Message-ID: References: <20200207124328.8723-1-pankaj.bansal@nxp.com> <20200207124328.8723-9-pankaj.bansal@nxp.com> <20200210173200.GM23627@bivouac.eciton.net> In-Reply-To: <20200210173200.GM23627@bivouac.eciton.net> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=pankaj.bansal@nxp.com; x-originating-ip: [92.120.1.65] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: d4418cf0-38d9-4a16-4ab9-08d7aeceb5de x-ms-traffictypediagnostic: VI1PR0401MB2639:|VI1PR0401MB2639: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0310C78181 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(396003)(346002)(376002)(39860400002)(136003)(366004)(199004)(189003)(186003)(2906002)(44832011)(8676002)(8936002)(33656002)(81166006)(9686003)(30864003)(71200400001)(4326008)(81156014)(64756008)(66476007)(66556008)(52536014)(66946007)(66446008)(6916009)(26005)(86362001)(5660300002)(55016002)(76116006)(6506007)(53546011)(19627235002)(478600001)(316002)(7696005)(54906003)(579004)(559001);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0401MB2639;H:VI1PR0401MB2496.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wYcUYngboCJIBWBzSU4f+57gQ7CbMIwHEsn4MUWET0aSq0MHZyNzELG/rP29YRpvpwJvdsIaaV1o0aY7krrY4vQ9VOkaP1tTKpx8y9xgpdJkeGIfI7T+hpVZrLwhBEzEltGDEQBjtim5nbiQ9L3bNplmQ9Hs4mLJEkKf5ZcXM5dt0FAQVaVaiwiSGBHeUTIDqU+wifln+KnTVxeJILNgvwom2Zf0bUWYkSFAZ4byvrncyFVrfBdtFTje85WoumdtgomZnmf7EpyA1Pa514TvPWlyb5kAeIXjlTQ0ZpjSzlh9UsyIoax3EimtoKO2uTPBneRpDtmqIDSPvTYd5T7nwnTN1PY9EzcZ3gX5YlnGzr8FQC9nnkwL6KejLjDWv47JVW3Y+Xtz0ZCOUHLiJfkKwti/NxeUzp0jyrIUmk5D6IA3g+v0e+FJ7zj3CaqJGzGu x-ms-exchange-antispam-messagedata: 7weYp8KgbaCfnik42N0HzYk6xs3dUDtdoWWNtFp0Pqmu8I5ZVVej8Y7SxBYdt+Wk3QhQqMC6vHDoqe2zV5HhpBuv5Ay+J0Wbo5mN3puHei/1VpJ2QTaGkkJOYe0zbd6QX/i3f2gWMMP4q7xz2wiTVg== MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4418cf0-38d9-4a16-4ab9-08d7aeceb5de X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Feb 2020 08:45:13.2055 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wlPz188Hw6Fn7fu8ymK+zl5ASo9B6P5pgRFJN2kZ25mCgWphER/53U2F/8cKmApTNsWcFjsG6kgHPKlDR+NjJg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2639 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Leif Lindholm > Sent: Monday, February 10, 2020 11:02 PM > To: Pankaj Bansal > Cc: Meenakshi Aggarwal ; Michael D Kinney > ; Varun Sethi ; > devel@edk2.groups.io > Subject: Re: [PATCH 08/19] Silicon/NXP: Remove unnecessary PCDs >=20 > On Fri, Feb 07, 2020 at 18:13:17 +0530, Pankaj Bansal wrote: > > There is no need to keep SOC specific PCDs defined for each SOC. >=20 > That sound like the definition of why we have SoC-specific Pcds, so I don= 't > follow. >=20 > > we can do away with these PCDs. >=20 > After looking through this patchset, it looks like: > 1) Initial implementation defined a bunch of things as Pcds which > really cannot vary between different platforms using the same SoC. Yes. > 2) This patch moves several things that can differ between platforms > into #defines, when they should be Pcds. >=20 > I am OK with the 1)s, but there are some you would need to convince me ar= e not > 2:s. I have moved only those things to #define, which would be common for all pl= atforms using the SOC. I will explain more below. >=20 > > Signed-off-by: Pankaj Bansal > > --- > > .../Drivers/PlatformDxe/PlatformDxe.c | 15 +-- > > .../Drivers/PlatformDxe/PlatformDxe.inf | 8 +- > > Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc | 1 - > > .../Library/PlatformLib/ArmPlatformLib.inf | 21 +--- > > .../Library/PlatformLib/NxpQoriqLsMem.c | 103 +++++++++--------- > > Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf | 6 - > > Silicon/NXP/Include/Chassis2/NxpSoc.h | 2 + > > Silicon/NXP/LS1043A/Include/Soc.h | 44 ++++++++ > > Silicon/NXP/LS1043A/LS1043A.dsc.inc | 32 ------ > > Silicon/NXP/Library/SocLib/Chassis2/Soc.c | 2 +- > > Silicon/NXP/Library/SocLib/LS1043aSocLib.inf | 4 - > > Silicon/NXP/NxpQoriqLs.dec | 74 ------------- > > 12 files changed, 108 insertions(+), 204 deletions(-) create mode > > 100644 Silicon/NXP/LS1043A/Include/Soc.h > > > > diff --git > > a/Platform/NXP/LS1043aRdbPkg/Drivers/PlatformDxe/PlatformDxe.c > > b/Platform/NXP/LS1043aRdbPkg/Drivers/PlatformDxe/PlatformDxe.c > > index f89dcdeff3..62c400eb1a 100644 > > --- a/Platform/NXP/LS1043aRdbPkg/Drivers/PlatformDxe/PlatformDxe.c > > +++ b/Platform/NXP/LS1043aRdbPkg/Drivers/PlatformDxe/PlatformDxe.c > > @@ -1,7 +1,7 @@ > > /** @file > > LS1043 DXE platform driver. > > > > - Copyright 2018-2019 NXP > > + Copyright 2018-2020 NXP > > > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > @@ -14,6 +14,7 @@ > > #include > > #include > > #include > > +#include > > > > #include > > > > @@ -22,7 +23,7 @@ typedef struct { > > UINT8 EndDesc; > > } ADDRESS_SPACE_DESCRIPTOR; > > > > -STATIC ADDRESS_SPACE_DESCRIPTOR mI2cDesc[FixedPcdGet64 > > (PcdNumI2cController)]; > > +STATIC ADDRESS_SPACE_DESCRIPTOR > > +mI2cDesc[LS1043A_I2C_NUM_CONTROLLERS]; >=20 > Sure, this one sounds like something not configurable in software or boar= d > design. >=20 > > > > STATIC > > EFI_STATUS > > @@ -65,19 +66,19 @@ PopulateI2cInformation ( { > > UINT32 Index; > > > > - for (Index =3D 0; Index < FixedPcdGet32 (PcdNumI2cController); > > Index++) { > > + for (Index =3D 0; Index < ARRAY_SIZE (mI2cDesc); Index++) { > > mI2cDesc[Index].StartDesc.Desc =3D ACPI_ADDRESS_SPACE_DESCRIPTOR; > > mI2cDesc[Index].StartDesc.Len =3D sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3; > > mI2cDesc[Index].StartDesc.ResType =3D ACPI_ADDRESS_SPACE_TYPE_MEM; > > mI2cDesc[Index].StartDesc.GenFlag =3D 0; > > mI2cDesc[Index].StartDesc.SpecificFlag =3D 0; > > mI2cDesc[Index].StartDesc.AddrSpaceGranularity =3D 32; > > - mI2cDesc[Index].StartDesc.AddrRangeMin =3D FixedPcdGet64 > (PcdI2c0BaseAddr) + > > - (Index * FixedPcdGet32 (P= cdI2cSize)); >=20 > As does this. >=20 > > + mI2cDesc[Index].StartDesc.AddrRangeMin =3D > LS1043A_I2C0_PHYS_ADDRESS + > > + (Index * > > + LS1043A_I2C_SIZE); > > mI2cDesc[Index].StartDesc.AddrRangeMax =3D > mI2cDesc[Index].StartDesc.AddrRangeMin + > > - FixedPcdGet32 (PcdI2cSize= ) - 1; > > + LS1043A_I2C_SIZE - 1; > > mI2cDesc[Index].StartDesc.AddrTranslationOffset =3D 0; > > - mI2cDesc[Index].StartDesc.AddrLen =3D FixedPcdGet32 (PcdI2cSize); > > + mI2cDesc[Index].StartDesc.AddrLen =3D LS1043A_I2C_SIZE; > > > > mI2cDesc[Index].EndDesc =3D ACPI_END_TAG_DESCRIPTOR; > > } > > diff --git > > a/Platform/NXP/LS1043aRdbPkg/Drivers/PlatformDxe/PlatformDxe.inf > > b/Platform/NXP/LS1043aRdbPkg/Drivers/PlatformDxe/PlatformDxe.inf > > index d689cf4db5..126a1174fa 100644 > > --- a/Platform/NXP/LS1043aRdbPkg/Drivers/PlatformDxe/PlatformDxe.inf > > +++ b/Platform/NXP/LS1043aRdbPkg/Drivers/PlatformDxe/PlatformDxe.inf > > @@ -2,7 +2,7 @@ > > # > > # Component description file for LS1043 DXE platform driver. > > # > > -# Copyright 2018-2019 NXP > > +# Copyright 2018-2020 NXP > > # > > # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -25,6 +25,7 @@ > > MdeModulePkg/MdeModulePkg.dec > > Silicon/Maxim/Library/Ds1307RtcLib/Ds1307RtcLib.dec > > Silicon/NXP/NxpQoriqLs.dec > > + Silicon/NXP/LS1043A/LS1043A.dec >=20 > Please insert sorted alphabetically. >=20 > > > > [LibraryClasses] > > BaseLib > > @@ -43,10 +44,5 @@ > > gEdkiiNonDiscoverableDeviceProtocolGuid ## PRODUCES > > gDs1307RealTimeClockLibI2cMasterProtocolGuid ## PRODUCES > > > > -[FixedPcd] > > - gNxpQoriqLsTokenSpaceGuid.PcdI2c0BaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdI2cSize > > - gNxpQoriqLsTokenSpaceGuid.PcdNumI2cController >=20 > Still good. >=20 > > - > > [Depex] > > TRUE > > diff --git a/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc > > b/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc > > index 802cccdce6..74a1948fc6 100644 > > --- a/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc > > +++ b/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc > > @@ -42,7 +42,6 @@ > > # > > # Board Specific Pcds > > # > > - gNxpQoriqLsTokenSpaceGuid.PcdSerdes2Enabled|FALSE >=20 > But this sounds exactly like the kind of thing that would be configured d= ifferently > for different boards. Can you please explain why this should be removed? This PCD was defined because LS1043A (Chassis2 based SOC) has one Serdes. Other Soc based on Chassis2 LS1046A, has two Serdes. So this Pcd is false f= or LS1043A and true for LS1046A. Serdes block in Layerscape SOCs control which devices= are enabled and which devices are disabled ? e.g. (hypothetical example) with Serdes pr= otocol 5, out of 8 MACs, only 3 and 6 and enabled. Going forward the plan is to move the Serdes handling to SOC specific code and NOT to Chassis specific code. This is because the = serdes protocols are SOC specific and not chassis specific. i.e. both LS1046A and = LS1043A can have serdes protocol 5. But their meaning can be different for both For the time being we have removed Serdes related code (in PATCH 07/19). We= will introduce It after PEI phase changes are merged. >=20 > > gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv|0x1 > > > > # > > diff --git > > a/Platform/NXP/LS1043aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf > > b/Platform/NXP/LS1043aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf > > index f7ae74afc6..054dc4d003 100644 > > --- > > a/Platform/NXP/LS1043aRdbPkg/Library/PlatformLib/ArmPlatformLib.inf > > +++ b/Platform/NXP/LS1043aRdbPkg/Library/PlatformLib/ArmPlatformLib.in > > +++ f > > @@ -1,7 +1,7 @@ > > # @file > > # > > # Copyright (c) 2016, Freescale Semiconductor, Inc. All rights reserv= ed. > > -# Copyright 2017, 2019 NXP > > +# Copyright 2017, 2019-2020 NXP > > # > > # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -20,6 +20,7 @@ > > EmbeddedPkg/EmbeddedPkg.dec > > MdePkg/MdePkg.dec > > Silicon/NXP/NxpQoriqLs.dec > > + Silicon/NXP/LS1043A/LS1043A.dec >=20 > Insert sorted. >=20 > > > > [LibraryClasses] > > ArmLib > > @@ -35,21 +36,3 @@ > > > > [FixedPcd] > > gArmTokenSpaceGuid.PcdArmPrimaryCore > > - gNxpQoriqLsTokenSpaceGuid.PcdCcsrBaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdCcsrSize > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1BaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1Size > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2BaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2Size > > - gNxpQoriqLsTokenSpaceGuid.PcdQmanSwpBaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdQmanSwpSize > > - gNxpQoriqLsTokenSpaceGuid.PcdBmanSwpBaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdBmanSwpSize > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp1BaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp1BaseSize > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp2BaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp2BaseSize > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp3BaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp3BaseSize > > - gNxpQoriqLsTokenSpaceGuid.PcdQspiRegionBaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdQspiRegionSize > > diff --git > > a/Platform/NXP/LS1043aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c > > b/Platform/NXP/LS1043aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c > > index c6c256da07..3a72c8bdd8 100644 > > --- a/Platform/NXP/LS1043aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c > > +++ b/Platform/NXP/LS1043aRdbPkg/Library/PlatformLib/NxpQoriqLsMem.c > > @@ -6,7 +6,7 @@ > > * > > * Copyright (c) 2011, ARM Limited. All rights reserved. > > * Copyright (c) 2016, Freescale Semiconductor, Inc. All rights reserv= ed. > > -* Copyright 2017, 2019 NXP > > +* Copyright 2017, 2019-2020 NXP > > * > > * SPDX-License-Identifier: BSD-2-Clause-Patent > > * > > @@ -16,7 +16,7 @@ > > #include > > #include > > #include -#include > > +#include > > > > #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS 25 > > > > @@ -38,7 +38,6 @@ ArmPlatformGetVirtualMemoryMap ( { > > UINTN Index; > > ARM_MEMORY_REGION_DESCRIPTOR *VirtualMemoryTable; > > - DRAM_INFO DramInfo; > > > > Index =3D 0; > > > > @@ -51,25 +50,21 @@ ArmPlatformGetVirtualMemoryMap ( > > return; > > } > > > > - if (GetDramBankInfo (&DramInfo)) { > > - DEBUG ((DEBUG_ERROR, "Failed to get DRAM information, exiting...\n= ")); > > - return; > > - } > > + VirtualMemoryTable[Index].PhysicalBase =3D > > + LS1043A_DRAM0_PHYS_ADDRESS; VirtualMemoryTable[Index].VirtualBase > =3D LS1043A_DRAM0_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_DRAM0_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK; > > > > - > > - for (Index =3D 0; Index < DramInfo.NumOfDrams; Index++) { > > - // DRAM1 (Must be 1st entry) > > - VirtualMemoryTable[Index].PhysicalBase =3D > DramInfo.DramRegion[Index].BaseAddress; > > - VirtualMemoryTable[Index].VirtualBase =3D > DramInfo.DramRegion[Index].BaseAddress; > > - VirtualMemoryTable[Index].Length =3D DramInfo.DramRegion[Ind= ex].Size; > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK; > > - } > > + VirtualMemoryTable[Index].PhysicalBase =3D > > + LS1043A_DRAM1_PHYS_ADDRESS; VirtualMemoryTable[Index].VirtualBase > =3D LS1043A_DRAM1_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_DRAM1_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK; >=20 > No changes to this file so far appear to have anything to do with what th= e > commit message says the patch does. >=20 > > > > // CCSR Space > > - VirtualMemoryTable[Index].PhysicalBase =3D FixedPcdGet64 > > (PcdCcsrBaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 (PcdCcsrBas= eAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 (PcdCcsrSiz= e); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > + VirtualMemoryTable[Index].PhysicalBase =3D LS1043A_CCSR_PHYS_ADDRESS= ; > > + VirtualMemoryTable[Index].VirtualBase =3D LS1043A_CCSR_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_CCSR_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; >=20 > If these are not reconfigurable for different platforms, sure. Yes. The SOC memory map is fixed in hardware. It doesn't change with Platfo= rm using SOC. >=20 > > > > // IFC region 1 > > // > > @@ -85,60 +80,60 @@ ArmPlatformGetVirtualMemoryMap ( > > // For write transactions from non-core masters (like sy= stem DMA), > the address > > // should be 16 byte aligned and the data size should= be multiple of > 16 bytes. > > // > > - VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64 > > (PcdIfcRegion1BaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 > (PcdIfcRegion1BaseAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 (PcdIfcRegi= on1Size); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > + VirtualMemoryTable[Index].PhysicalBase =3D LS1043A_IFC0_PHYS_ADDRESS= ; > > + VirtualMemoryTable[Index].VirtualBase =3D LS1043A_IFC0_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_IFC0_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; >=20 > If these are not reconfigurable for different platforms, sure. >=20 > > > > // QMAN SWP > > - VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64 > > (PcdQmanSwpBaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 > (PcdQmanSwpBaseAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 (PcdQmanSwp= Size); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED; > > + VirtualMemoryTable[Index].PhysicalBase =3D > > + LS1043A_QMAN_SW_PORTAL_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].VirtualBase =3D > LS1043A_QMAN_SW_PORTAL_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_QMAN_SW_PORTAL_SI= ZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED; > > >=20 > If these are not reconfigurable for different platforms, sure. >=20 > > // BMAN SWP > > - VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64 > > (PcdBmanSwpBaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 > (PcdBmanSwpBaseAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 (PcdBmanSwp= Size); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED; > > + VirtualMemoryTable[Index].PhysicalBase =3D > > + LS1043A_BMAN_SW_PORTAL_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].VirtualBase =3D > LS1043A_BMAN_SW_PORTAL_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_QMAN_SW_PORTAL_SI= ZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED; > > >=20 > If these are not reconfigurable for different platforms, sure. >=20 > > // IFC region 2 > > - VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64 > > (PcdIfcRegion2BaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 > (PcdIfcRegion2BaseAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 (PcdIfcRegi= on2Size); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > + VirtualMemoryTable[Index].PhysicalBase =3D LS1043A_IFC1_PHYS_ADDRESS= ; > > + VirtualMemoryTable[Index].VirtualBase =3D LS1043A_IFC1_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_IFC1_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > >=20 > If these are not reconfigurable for different platforms, sure. >=20 > > // PCIe1 > > - VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64 > > (PcdPciExp1BaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 > (PcdPciExp1BaseAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 > (PcdPciExp1BaseSize); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > + VirtualMemoryTable[Index].PhysicalBase =3D LS1043A_PCI0_PHYS_ADDRESS= ; > > + VirtualMemoryTable[Index].VirtualBase =3D LS1043A_PCI0_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_PCI_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > >=20 > If these are not reconfigurable for different platforms, sure. >=20 > > // PCIe2 > > - VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64 > > (PcdPciExp2BaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 > (PcdPciExp2BaseAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 > (PcdPciExp2BaseSize); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > + VirtualMemoryTable[Index].PhysicalBase =3D LS1043A_PCI1_PHYS_ADDRESS= ; > > + VirtualMemoryTable[Index].VirtualBase =3D LS1043A_PCI1_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_PCI_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > >=20 > If these are not reconfigurable for different platforms, sure. >=20 > > // PCIe3 > > - VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64 > > (PcdPciExp3BaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 > (PcdPciExp3BaseAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 > (PcdPciExp3BaseSize); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; > > + VirtualMemoryTable[Index].PhysicalBase =3D LS1043A_PCI2_PHYS_ADDRESS= ; > > + VirtualMemoryTable[Index].VirtualBase =3D LS1043A_PCI2_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_PCI_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_DEVICE; >=20 > If these are not reconfigurable for different platforms, sure. > > > > // QSPI region > > - VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64 > > (PcdQspiRegionBaseAddr); > > - VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64 > (PcdQspiRegionBaseAddr); > > - VirtualMemoryTable[Index].Length =3D FixedPcdGet64 (PcdQspiReg= ionSize); > > - VirtualMemoryTable[Index].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED; > > + VirtualMemoryTable[Index].PhysicalBase =3D LS1043A_QSPI_PHYS_ADDRESS= ; > > + VirtualMemoryTable[Index].VirtualBase =3D LS1043A_QSPI_PHYS_ADDRESS; > > + VirtualMemoryTable[Index].Length =3D LS1043A_QSPI_SIZE; > > + VirtualMemoryTable[Index++].Attributes =3D > ARM_MEMORY_REGION_ATTRIBUTE_UNCACHED_UNBUFFERED; >=20 > If these are not reconfigurable for different platforms, sure. >=20 > > > > // End of Table > > - VirtualMemoryTable[++Index].PhysicalBase =3D 0; > > + VirtualMemoryTable[Index].PhysicalBase =3D 0; >=20 > Move that ++ back where it belongs - there is no functional change here. I will remove this change and will keep functional changes only in this pat= ch. >=20 > > VirtualMemoryTable[Index].VirtualBase =3D 0; > > VirtualMemoryTable[Index].Length =3D 0; > > - VirtualMemoryTable[Index].Attributes =3D > (ARM_MEMORY_REGION_ATTRIBUTES)0; > > + VirtualMemoryTable[Index++].Attributes =3D > (ARM_MEMORY_REGION_ATTRIBUTES)0; >=20 > Move that ++ back where it belongs - there is no functional change here. >=20 > > > > - ASSERT ((Index + 1) <=3D MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS); > > + ASSERT (Index < MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS); >=20 > Drop that +1 =3D - there is no functional change here. >=20 > If you want to submit separate patches for coding style changes, that's f= ine. But > given that this set looks like it's making up for not synchronising inter= nal > development with the (very long) upstreaming effort so far, I am not inte= rested > in those until all functional changes are in. I will remove this change and will keep functional changes only in this pat= ch. >=20 > > > > *VirtualMemoryMap =3D VirtualMemoryTable; } diff --git > > a/Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf > > b/Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf > > index 784139065f..fc4bb618fa 100644 > > --- a/Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf > > +++ b/Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf > > @@ -49,11 +49,5 @@ > > gEdkiiNonDiscoverableDeviceProtocolGuid ## TO_START > > gEfiI2cMasterProtocolGuid ## BY_START > > > > -[Pcd] > > - gNxpQoriqLsTokenSpaceGuid.PcdI2cSpeed > > - gNxpQoriqLsTokenSpaceGuid.PcdI2c0BaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdI2cSize > > - gNxpQoriqLsTokenSpaceGuid.PcdNumI2cController > > - > > [Depex] > > TRUE > > diff --git a/Silicon/NXP/Include/Chassis2/NxpSoc.h > > b/Silicon/NXP/Include/Chassis2/NxpSoc.h > > index 74330b6205..6812beafe4 100644 > > --- a/Silicon/NXP/Include/Chassis2/NxpSoc.h > > +++ b/Silicon/NXP/Include/Chassis2/NxpSoc.h > > @@ -12,6 +12,8 @@ > > > > #define CLK_FREQ 100000000 > > > > +#define CHASSIS2_DCFG_ADDRESS 0x1EE0000 > > + > > /* SMMU Defintions */ > > #define SMMU_BASE_ADDR 0x09000000 > > #define SMMU_REG_SCR0 (SMMU_BASE_ADDR + 0x0) > > diff --git a/Silicon/NXP/LS1043A/Include/Soc.h > > b/Silicon/NXP/LS1043A/Include/Soc.h > > new file mode 100644 > > index 0000000000..c1e00394af > > --- /dev/null > > +++ b/Silicon/NXP/LS1043A/Include/Soc.h > > @@ -0,0 +1,44 @@ > > +/** @file > > + > > + Copyright 2020 NXP > > + > > + SPDX-License-Identifier: BSD-2-Clause-Patent > > + > > +**/ > > +#ifndef __SOC_H__ > > +#define __SOC_H__ > > + > > +/** > > + Soc Memory Map > > +**/ > > +#define LS1043A_DRAM0_PHYS_ADDRESS 0x80000000 > > +#define LS1043A_DRAM0_SIZE SIZE_2GB > > +#define LS1043A_DRAM1_PHYS_ADDRESS 0x880000000 > > +#define LS1043A_DRAM1_SIZE 0x780000000 // 30 GB > > + > > +#define LS1043A_CCSR_PHYS_ADDRESS 0x1000000 > > +#define LS1043A_CCSR_SIZE 0xF000000 > > + > > +#define LS1043A_IFC0_PHYS_ADDRESS 0x60000000 > > +#define LS1043A_IFC0_SIZE SIZE_512MB > > +#define LS1043A_IFC1_PHYS_ADDRESS 0x620000000 > > +#define LS1043A_IFC1_SIZE 0xE0000000 // 3.5 GB > > + > > +#define LS1043A_QSPI_PHYS_ADDRESS 0x40000000 > > +#define LS1043A_QSPI_SIZE SIZE_512MB > > + > > +#define LS1043A_QMAN_SW_PORTAL_PHYS_ADDRESS 0x500000000 > > +#define LS1043A_QMAN_SW_PORTAL_SIZE SIZE_128MB > > +#define LS1043A_BMAN_SW_PORTAL_PHYS_ADDRESS 0x508000000 > > +#define LS1043A_BMAN_SW_PORTAL_SIZE SIZE_128MB > > + > > +#define LS1043A_PCI0_PHYS_ADDRESS 0x4000000000 > > +#define LS1043A_PCI1_PHYS_ADDRESS 0x4800000000 > > +#define LS1043A_PCI2_PHYS_ADDRESS 0x5000000000 > > +#define LS1043A_PCI_SIZE SIZE_32GB > > + > > +#define LS1043A_I2C0_PHYS_ADDRESS 0x2180000 > > +#define LS1043A_I2C_SIZE 0x10000 > > +#define LS1043A_I2C_NUM_CONTROLLERS 4 > > + > > +#endif > > diff --git a/Silicon/NXP/LS1043A/LS1043A.dsc.inc > > b/Silicon/NXP/LS1043A/LS1043A.dsc.inc > > index 754eff396a..7ebbb1a495 100644 > > --- a/Silicon/NXP/LS1043A/LS1043A.dsc.inc > > +++ b/Silicon/NXP/LS1043A/LS1043A.dsc.inc > > @@ -26,40 +26,8 @@ > > [PcdsFixedAtBuild.common] > > gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x021c0500 > > > > - # > > - # CCSR Address Space and other attached Memories > > - # > > - gNxpQoriqLsTokenSpaceGuid.PcdCcsrBaseAddr|0x01000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdCcsrSize|0x0F000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdClkBaseAddr|0x01EE1000 > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1BaseAddr|0x60000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1Size|0x20000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2BaseAddr|0x0620000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2Size|0x00E0000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcNandReservedSize|0x2EA > > - gNxpQoriqLsTokenSpaceGuid.PcdQmanSwpBaseAddr|0x0500000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdQmanSwpSize|0x0080000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdBmanSwpBaseAddr|0x0508000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdBmanSwpSize|0x0080000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp1BaseAddr|0x4000000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp1BaseSize|0x800000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp2BaseAddr|0x4800000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp2BaseSize|0x800000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp3BaseAddr|0x5000000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp3BaseSize|0x800000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdScfgBaseAddr|0x1570000 > > - gNxpQoriqLsTokenSpaceGuid.PcdGutsBaseAddr|0x01EE0000 > > - gNxpQoriqLsTokenSpaceGuid.PcdWatchdog1BaseAddr|0x02AD0000 > > - gNxpQoriqLsTokenSpaceGuid.PcdSdxcBaseAddr|0x01560000 > > - gNxpQoriqLsTokenSpaceGuid.PcdI2c0BaseAddr|0x02180000 > > - gNxpQoriqLsTokenSpaceGuid.PcdI2cSize|0x10000 > > - gNxpQoriqLsTokenSpaceGuid.PcdNumI2cController|4 > > - gNxpQoriqLsTokenSpaceGuid.PcdQspiRegionBaseAddr|0x40000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdQspiRegionSize|0x20000000 > > - > > # > > # Big Endian IPs > > # > > gNxpQoriqLsTokenSpaceGuid.PcdGurBigEndian|TRUE > > - gNxpQoriqLsTokenSpaceGuid.PcdWatchdogBigEndian|TRUE > > ## > > diff --git a/Silicon/NXP/Library/SocLib/Chassis2/Soc.c > > b/Silicon/NXP/Library/SocLib/Chassis2/Soc.c > > index 9baeb17ecf..a3dabc93d1 100644 > > --- a/Silicon/NXP/Library/SocLib/Chassis2/Soc.c > > +++ b/Silicon/NXP/Library/SocLib/Chassis2/Soc.c > > @@ -34,7 +34,7 @@ GetSysInfo ( > > CCSR_GUR *GurBase; > > UINTN SysClk; > > > > - GurBase =3D (VOID *)PcdGet64 (PcdGutsBaseAddr); > > + GurBase =3D (CCSR_GUR *)CHASSIS2_DCFG_ADDRESS; > > SysClk =3D CLK_FREQ; > > > > SetMem (PtrSysInfo, sizeof (SYS_INFO), 0); diff --git > > a/Silicon/NXP/Library/SocLib/LS1043aSocLib.inf > > b/Silicon/NXP/Library/SocLib/LS1043aSocLib.inf > > index fe77717337..d8707927b7 100644 > > --- a/Silicon/NXP/Library/SocLib/LS1043aSocLib.inf > > +++ b/Silicon/NXP/Library/SocLib/LS1043aSocLib.inf > > @@ -40,9 +40,5 @@ > > gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity > > gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits > > gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString > > - gNxpQoriqLsTokenSpaceGuid.PcdClkBaseAddr > > gNxpQoriqLsTokenSpaceGuid.PcdGurBigEndian > > - gNxpQoriqLsTokenSpaceGuid.PcdGutsBaseAddr > > gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv > > - gNxpQoriqLsTokenSpaceGuid.PcdScfgBaseAddr > > - gNxpQoriqLsTokenSpaceGuid.PcdSerdes2Enabled > > diff --git a/Silicon/NXP/NxpQoriqLs.dec b/Silicon/NXP/NxpQoriqLs.dec > > index 4a1cfb3e27..b478560450 100644 > > --- a/Silicon/NXP/NxpQoriqLs.dec > > +++ b/Silicon/NXP/NxpQoriqLs.dec > > @@ -22,89 +22,15 @@ > > gNxpNonDiscoverableI2cMasterGuid =3D { 0x5f2c099c, 0x54a3, 0x4dd4, > > {0x9e, 0xc5, 0xe9, 0x12, 0x8c, 0x36, 0x81, 0x6a}} > > > > [PcdsFixedAtBuild.common] > > - # > > - # Pcds for I2C Controller > > - # > > - gNxpQoriqLsTokenSpaceGuid.PcdI2cSpeed|0|UINT32|0x00000001 > > - gNxpQoriqLsTokenSpaceGuid.PcdNumI2cController|0|UINT32|0x00000002 > > - > > - # > > - # Pcds for base address and size > > - # > > - gNxpQoriqLsTokenSpaceGuid.PcdGutsBaseAddr|0x0|UINT64|0x00000100 > > - gNxpQoriqLsTokenSpaceGuid.PcdPiFdSize|0x0|UINT32|0x00000101 > > - > gNxpQoriqLsTokenSpaceGuid.PcdPiFdBaseAddress|0x0|UINT64|0x00000102 > > - gNxpQoriqLsTokenSpaceGuid.PcdClkBaseAddr|0x0|UINT64|0x00000103 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdWatchdog1BaseAddr|0x0|UINT64|0x0000010 > 4 > > - gNxpQoriqLsTokenSpaceGuid.PcdDdrBaseAddr|0x0|UINT64|0x00000105 > > - gNxpQoriqLsTokenSpaceGuid.PcdSdxcBaseAddr|0x0|UINT64|0x00000106 > > - gNxpQoriqLsTokenSpaceGuid.PcdScfgBaseAddr|0x0|UINT64|0x00000107 > > - gNxpQoriqLsTokenSpaceGuid.PcdI2c0BaseAddr|0x0|UINT64|0x00000108 > > - gNxpQoriqLsTokenSpaceGuid.PcdI2cSize|0x0|UINT32|0x00000109 > > - gNxpQoriqLsTokenSpaceGuid.PcdDcsrBaseAddr|0x0|UINT64|0x0000010A > > - gNxpQoriqLsTokenSpaceGuid.PcdDcsrSize|0x0|UINT64|0x0000010B > > - gNxpQoriqLsTokenSpaceGuid.PcdSataBaseAddr|0x0|UINT32|0x0000010C > > - gNxpQoriqLsTokenSpaceGuid.PcdSataSize|0x0|UINT32|0x0000010D > > - > gNxpQoriqLsTokenSpaceGuid.PcdQmanSwpBaseAddr|0x0|UINT64|0x0000010E > > - gNxpQoriqLsTokenSpaceGuid.PcdQmanSwpSize|0x0|UINT64|0x0000010F > > - > gNxpQoriqLsTokenSpaceGuid.PcdBmanSwpBaseAddr|0x0|UINT64|0x00000110 > > - gNxpQoriqLsTokenSpaceGuid.PcdBmanSwpSize|0x0|UINT64|0x00000111 > > - > gNxpQoriqLsTokenSpaceGuid.PcdPciExp1BaseAddr|0x0|UINT64|0x00000112 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp1BaseSize|0x0|UINT64|0x00000113 > > - > gNxpQoriqLsTokenSpaceGuid.PcdPciExp2BaseAddr|0x0|UINT64|0x00000114 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp2BaseSize|0x0|UINT64|0x00000115 > > - > gNxpQoriqLsTokenSpaceGuid.PcdPciExp3BaseAddr|0x0|UINT64|0x00000116 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp3BaseSize|0x0|UINT64|0x00000117 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp4BaseAddr|0x0|UINT64|0x0000118 > > - gNxpQoriqLsTokenSpaceGuid.PcdPciExp4BaseSize|0x0|UINT64|0x0000119 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdQspiRegionBaseAddr|0x0|UINT64|0x0000011 > A > > - gNxpQoriqLsTokenSpaceGuid.PcdQspiRegionSize|0x0|UINT64|0x0000011B > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdQspiRegion2BaseAddr|0x0|UINT64|0x000001 > 1C > > - > gNxpQoriqLsTokenSpaceGuid.PcdQspiRegion2Size|0x0|UINT64|0x0000011D > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdSystemMemoryExBase|0x0|UINT64|0x00000 > 11E > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdSystemMemoryExSize|0x0|UINT64|0x000001 > 1F > > - gNxpQoriqLsTokenSpaceGuid.PcdUsbBaseAddr|0x0|UINT32|0x00000120 > > - gNxpQoriqLsTokenSpaceGuid.PcdUsbSize|0x0|UINT32|0x00000121 > > - gNxpQoriqLsTokenSpaceGuid.PcdCcsrBaseAddr|0x0|UINT64|0x00000122 > > - gNxpQoriqLsTokenSpaceGuid.PcdCcsrSize|0x0|UINT64|0x00000123 > > - > > - # > > - # IFC PCDs > > - # > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1BaseAddr|0x0|UINT64|0x0000019 > 0 > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion1Size|0x0|UINT64|0x00000191 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2BaseAddr|0x0|UINT64|0x0000019 > 2 > > - gNxpQoriqLsTokenSpaceGuid.PcdIfcRegion2Size|0x0|UINT64|0x00000193 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdIfcNandReservedSize|0x0|UINT32|0x0000019 > 4 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdFlashDeviceBase64|0x0|UINT64|0x00000195 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdFlashReservedRegionBase64|0x0|UINT64|0x0 > 0 > > 000196 > > - > > - # > > - # NV Pcd > > - # > > - gNxpQoriqLsTokenSpaceGuid.PcdNvFdBase|0x0|UINT64|0x00000210 > > - gNxpQoriqLsTokenSpaceGuid.PcdNvFdSize|0x0|UINT64|0x00000211 >=20 > Not able to be different between different platforms using the same SoC? This is a redundant Pcd. For Non Volatile Variables we already have PCDs li= ke gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64 >=20 > > - > > # > > # Platform PCDs > > # > > gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv|0x0|UINT32|0x00000250 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdSerdes2Enabled|FALSE|BOOLEAN|0x0000025 > 1 > > - > > - # > > - # Clock PCDs > > - # > > - gNxpQoriqLsTokenSpaceGuid.PcdSysClk|0x0|UINT64|0x000002A0 > > - gNxpQoriqLsTokenSpaceGuid.PcdDdrClk|0x0|UINT64|0x000002A1 >=20 > And clocks also sound very much like something that can change per platfo= rm? Yes Clocks can change. And also clocks are not fixed in all platforms. i.e.= in most of the platforms based on the switch settings, FPGA or Clock generator can be configured to provide diffe= rent SYS clock / DDR Clock / SERDES clock etc. Also we need the clock even when we don't have the support for PCD framewor= k. Which is why we have moved the clock functionality in ArmPlatformLib Refer "NxpPlatformGetClock" in patch 14/19. >=20 > / > Leif >=20 > > > > # > > # Pcds to support Big Endian IPs > > # > > - > gNxpQoriqLsTokenSpaceGuid.PcdMmcBigEndian|FALSE|BOOLEAN|0x0000310 > > > gNxpQoriqLsTokenSpaceGuid.PcdGurBigEndian|FALSE|BOOLEAN|0x0000311 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdPciLutBigEndian|FALSE|BOOLEAN|0x0000031 > 2 > > - > > > gNxpQoriqLsTokenSpaceGuid.PcdWatchdogBigEndian|FALSE|BOOLEAN|0x0000 > 031 > > 3 > > - > gNxpQoriqLsTokenSpaceGuid.PcdIfcBigEndian|FALSE|BOOLEAN|0x00000314 > > > > [PcdsFeatureFlag] > > > > > gNxpQoriqLsTokenSpaceGuid.PcdI2cErratumA009203|FALSE|BOOLEAN|0x0000 > 031 > > 5 > > -- > > 2.17.1 > >