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.48]) by mx.groups.io with SMTP id smtpd.web12.6437.1589946686079137936 for ; Tue, 19 May 2020 20:51:26 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@nxp1.onmicrosoft.com header.s=selector2-nxp1-onmicrosoft-com header.b=kcYK6uWo; spf=pass (domain: oss.nxp.com, ip: 40.107.0.48, mailfrom: pankaj.bansal@oss.nxp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eu2Go+OZO7DNi+8JjYiFlP0jrQd37wJBvDfEHu3rmNV+hK4TI2uU42i0qk46fAmwhs3f8rTeNetPBSm3qmcztTj8VJRCv3LjeOrkHO3RbMwxitKA+ytKnsT1ka/InnC3WbX+MHNOy20b0D+kMq48FPO8TrYuYeuEjV5fiPuYPF/uQ1yzDso7hG9syKVb7ZvfWi/C+p6q60XiHZ1uoJHnoLrT9vOczLZ2k1tQNRbs0+hsYjLGtfFh7bg/5Iz9As0znNxB9nRfwM708ezYrzSzIL5K86YXOC/kefdPnList1cXubaaInrUuFdTJcTBNKQoS08Qph7td5GxLXPUqhZSUw== 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=KXHT0ZS2jmTihyRNSpOLrYWRsjV1icwfUL0KANTE95s=; b=HyBkiaA9uGeYqUABEt90DqqkNGN8Wm83OuETjguA1RPEsWuzfu/B4qKhz5lK5rbd55APf92TRMWbTgdsUkqh64pQVXe8oWH2SCFlpu+1FHNBmAfNsnK28alrbsMyDopYdtLvmFrCz7MpQP/0BJhlhqdH25f0X/y8VnPrK0ldeYRpXDMuK6C+jVju/znvPiaaiFTwHHNke6vEA+MIYUXfE52S/1/DVZHturqaAkGbCDCYqTbQZKSuCidmavfcQdJ9dMNqI6UgVtdOM1Ub1tczBmFjKvEsg/NOWRxK/cwMBrSoU4dEmv109aztZm7D21Awt2eNpOyRBUCXZwIcmlDorQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KXHT0ZS2jmTihyRNSpOLrYWRsjV1icwfUL0KANTE95s=; b=kcYK6uWoVMuTdz1o9TePWAz/a9tzeXANwRMqKHrqpNWT6dPranE2qrfTQCiIZOCyFgs9oUEdirzJIfId5CpTCI/qMabRQefvcp27zYi0JzOB2cdxioAHM3YqzfP1aFtDAim2lbmJReXd9mtloVL6BIN5Bgv5MVWPj1Lwaq5pySU= Authentication-Results: nuviainc.com; dkim=none (message not signed) header.d=none;nuviainc.com; dmarc=none action=none header.from=oss.nxp.com; Received: from VI1PR04MB5933.eurprd04.prod.outlook.com (2603:10a6:803:ec::16) by VI1PR04MB5421.eurprd04.prod.outlook.com (2603:10a6:803:d5::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20; Wed, 20 May 2020 03:51:24 +0000 Received: from VI1PR04MB5933.eurprd04.prod.outlook.com ([fe80::45c4:8846:5327:9513]) by VI1PR04MB5933.eurprd04.prod.outlook.com ([fe80::45c4:8846:5327:9513%7]) with mapi id 15.20.3000.034; Wed, 20 May 2020 03:51:23 +0000 From: "Pankaj Bansal" To: Leif Lindholm , Meenakshi Aggarwal , Michael D Kinney , devel@edk2.groups.io, Varun Sethi , Samer El-Haj-Mahmoud , Jon Nettleton , Ard Biesheuvel Subject: [PATCH edk2-platforms 5/8] Silicon/NXP: Add Chassis3V2 Package Date: Wed, 20 May 2020 09:19:51 +0530 Message-ID: <20200520034954.5255-6-pankaj.bansal@oss.nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200520034954.5255-1-pankaj.bansal@oss.nxp.com> References: <20200520034954.5255-1-pankaj.bansal@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0196.apcprd06.prod.outlook.com (2603:1096:4:1::28) To VI1PR04MB5933.eurprd04.prod.outlook.com (2603:10a6:803:ec::16) Return-Path: pankaj.bansal@oss.nxp.com MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from uefi-workstation.ap.freescale.net (92.120.0.69) by SG2PR06CA0196.apcprd06.prod.outlook.com (2603:1096:4:1::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3021.23 via Frontend Transport; Wed, 20 May 2020 03:51:21 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [92.120.0.69] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 92822092-e131-4bd7-00ca-08d7fc7110a2 X-MS-TrafficTypeDiagnostic: VI1PR04MB5421: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-Forefront-PRVS: 04097B7F7F X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NFzFhccFCqHZA4gvhbjiOwgzV4mCCIBWXa8bFFywRT5ewmhpOgJLeOOdtKGd44aSCUykv0Q3BkVgwAgFvlxS7/AAsEwWTnky3+xBM2YHkGkcCo8dUBGjZPQRegJntPHaG+Go99mOpbdPCI3K1H/BXugOOl/UyD2IuN8wnZbUXf/32UnNnOjXxUDLTg7qqP7cdhcLZPvLfQi8S0O0z2WG+qNvIuXHP8Qsn9NrJO+pPI1edPw8LMLyyi7nGWiAfrd0FQkXIj9bsKk+sFUkxw+qT4HEJ+cVo1sJApu0nya1/BYZiJGhSIRFvFjntVtx6ig9hUe/P4jRHqPizxUCWfM8hZwvWZb864OBFdIlN74WsTNIaLpv/XgGdqEErAoESRILpJtoh76qK0Tda9Ze1YvUCcMWtpaOvtH/YV8a5LPt53nDs2jK2bHRFJ0Ncv3jzPzo X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5933.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(346002)(136003)(376002)(366004)(39860400002)(396003)(110136005)(26005)(86362001)(19627235002)(6666004)(478600001)(316002)(2906002)(2616005)(5660300002)(1076003)(956004)(6506007)(8936002)(6512007)(6486002)(52116002)(186003)(8676002)(66556008)(66946007)(44832011)(16526019)(66476007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: a9QfOl1xjihjKC/9kdQfJFk/qZzpLos7mDQmW5PLnjKEZpWtvf7ur1gFOJi83H8BO87pK4IAf4iHB3nqfWHga0SHoBpL2cu8wglsB6d/Jo1dQ29+sf+Cavai8ZzlOAQNxrnq4fgrmW6YT36LRzZUmIXIkjXPDdo0sfl521yIimw7BDUSIwxInzbz45/lw815iDRdU1YXO7X6ES9cSHy0n3rPePorD9UfkinejW9Q412hh43EBFf1cggy02U7xHpJ/005KduTCc7hDZr8GPU6PUJtj3LRcY68tjzhdzIJOWgmFb65aDkf2YQ70xSFewdWwGGWhuSJY36G0IQxFzoyQ6nW8sOYt7C5AFG1PvQaHYQOd1GTovoyOu0cSijNHil9JAcmOZ5T6CCziqKupyPmS1fICMqGEpQnAsn0YqMEkIwTvW9xeCUSruSv3TGPbSDeEe1QdlzTnIvpj3j32SYbEvKeFgd0GO1ISmKhso7lkfI= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92822092-e131-4bd7-00ca-08d7fc7110a2 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2020 03:51:23.8669 (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: qVSCKMh/uesO7l8TTJBv8xzuKpwTEVobMCMmdQIruZp8296npaMU8GQoC5elG+hA4F2Ix9Va7/c+4ojk4OaBYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5421 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Pankaj Bansal Chassis3V2 is the new chassis on which LS1028A and LX2160A SOCs are based. Add the Chassis3V2 package. Signed-off-by: Pankaj Bansal --- Silicon/NXP/Chassis3V2/Chassis3V2.dec | 22 ++++++ Silicon/NXP/Chassis3V2/Chassis3V2.dsc.inc | 10 +++ Silicon/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.inf | 33 +++++++++ Silicon/NXP/Chassis3V2/Include/Chassis.h | 26 +++++++ Silicon/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.c | 71 ++++++++++++= ++++++++ 5 files changed, 162 insertions(+) diff --git a/Silicon/NXP/Chassis3V2/Chassis3V2.dec b/Silicon/NXP/Chassis3V2= /Chassis3V2.dec new file mode 100644 index 000000000000..d3674cd6dff9 --- /dev/null +++ b/Silicon/NXP/Chassis3V2/Chassis3V2.dec @@ -0,0 +1,22 @@ +# @file +# NXP Layerscape processor package. +# +# Copyright 2020 NXP +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# + +[Defines] + DEC_SPECIFICATION =3D 1.27 + PACKAGE_VERSION =3D 0.1 + +##########################################################################= ###### +# +# Include Section - list of Include Paths that are provided by this packag= e. +# Comments are used for Keywords and Module Types. +# +# +##########################################################################= ###### +[Includes.common] + Include # Root include for the package diff --git a/Silicon/NXP/Chassis3V2/Chassis3V2.dsc.inc b/Silicon/NXP/Chassi= s3V2/Chassis3V2.dsc.inc new file mode 100644 index 000000000000..dabe2ae23054 --- /dev/null +++ b/Silicon/NXP/Chassis3V2/Chassis3V2.dsc.inc @@ -0,0 +1,10 @@ +# @file +# +# Copyright 2020 NXP +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# + +[LibraryClasses.common] + ChassisLib|Silicon/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.inf diff --git a/Silicon/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.inf b/Sil= icon/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.inf new file mode 100644 index 000000000000..75b68cc4ca2d --- /dev/null +++ b/Silicon/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.inf @@ -0,0 +1,33 @@ +# @file +# +# Copyright 2020 NXP +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# + +[Defines] + INF_VERSION =3D 1.27 + BASE_NAME =3D Chassis3V2Lib + FILE_GUID =3D fae0d077-5fc2-494f-b8e1-c51a3023ee3e + MODULE_TYPE =3D BASE + VERSION_STRING =3D 1.0 + LIBRARY_CLASS =3D ChassisLib + +[Packages] + ArmPkg/ArmPkg.dec + MdePkg/MdePkg.dec + Silicon/NXP/Chassis3V2/Chassis3V2.dec + Silicon/NXP/NxpQoriqLs.dec + +[LibraryClasses] + IoAccessLib + IoLib + PcdLib + SerialPortLib + +[Sources.common] + ChassisLib.c + +[FeaturePcd] + gNxpQoriqLsTokenSpaceGuid.PcdDcfgBigEndian diff --git a/Silicon/NXP/Chassis3V2/Include/Chassis.h b/Silicon/NXP/Chassis= 3V2/Include/Chassis.h new file mode 100644 index 000000000000..1f8a3fb129df --- /dev/null +++ b/Silicon/NXP/Chassis3V2/Include/Chassis.h @@ -0,0 +1,26 @@ +/** @file + + Copyright 2020 NXP + + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ +#ifndef CHASSIS_H__ +#define CHASSIS_H__ + +#include + +#define NXP_LAYERSCAPE_CHASSIS3V2_DCFG_ADDRESS 0x1E00000 + +/** + The Device Configuration Unit provides general purpose configuration and + status for the device. These registers only support 32-bit accesses. +**/ +#pragma pack(1) +typedef struct { + UINT8 Reserved0[0x100 - 0x0]; + UINT32 RcwSr[32]; // Reset Control Word Status Register +} NXP_LAYERSCAPE_CHASSIS3V2_DEVICE_CONFIG; +#pragma pack() + +#endif // CHASSIS_H__ diff --git a/Silicon/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.c b/Silic= on/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.c new file mode 100644 index 000000000000..2d1157d05174 --- /dev/null +++ b/Silicon/NXP/Chassis3V2/Library/ChassisLib/ChassisLib.c @@ -0,0 +1,71 @@ +/** @file + Chassis specific functions common to all SOCs based on a specific Chessi= s + + Copyright 2020 NXP + + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#include +#include +#include +#include +#include + +/** + Read Dcfg register + + @param Address The MMIO register to read. + + @return The value read. +**/ +UINT32 +EFIAPI +DcfgRead32 ( + IN UINTN Address + ) +{ + MMIO_OPERATIONS *DcfgOps; + + DcfgOps =3D GetMmioOperations (FeaturePcdGet (PcdDcfgBigEndian)); + + return DcfgOps->Read32 (Address); +} + +/** + Write Dcfg register + + @param Address The MMIO register to write. + @param Value The value to write to the MMIO register. + + @return Value. +**/ +UINT32 +EFIAPI +DcfgWrite32 ( + IN UINTN Address, + IN UINT32 Value + ) +{ + MMIO_OPERATIONS *DcfgOps; + + DcfgOps =3D GetMmioOperations (FeaturePcdGet (PcdDcfgBigEndian)); + + return DcfgOps->Write32 (Address, Value); +} + +/** + Function to initialize Chassis Specific functions + **/ +VOID +ChassisInit ( + VOID + ) +{ + // + // Early init serial Port to get board information. + // + SerialPortInitialize (); +} --=20 2.17.1