From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (EUR03-DB5-obe.outbound.protection.outlook.com [])
 by mx.groups.io with SMTP id smtpd.web12.37177.1591018565558875974
 for <devel@edk2.groups.io>;
 Mon, 01 Jun 2020 06:36: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=PMwmTvfy;
 spf=fail (domain: oss.nxp.com, ip: <nil>, mailfrom: pankaj.bansal@oss.nxp.com)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SON+/imzbq7/xHSj9WhO60FqU5dZV+Ufk0+FwajZo49hDwu9AZpuxSotJdhVzcpiGM8ccX6cZ28pOPdjPMW0vr1VGLqU6ZrAsKjIkAcdv+3oydnyOJeHd29XwMXre9/77tUGMyId1aIF5DYqCSCsUTnoOMxPkVK3PDAxYGR37sRRPY7KSKkd/225MPDPAc+mKZ0cwI646F0BaLH2aHe9wJDR4yDmHyd7bh2oKHJG8npvrABgxn017bgCadbwcu1XdNnI6jEZ4UOnp6mn1qVhiBXezqMjFngujhh85Ixsv5vG6yR0X59lit0RIe8chwfrmyNXWtnoDJaIjpG8mODKvA==
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=rpAEBc/or3ESXtFE0QOM0tcK1W3kg6F3VODnpgGMSwg=;
 b=eTTkTSQDDmG/45XHKacBEF6P96PBOYGl/M6I244piskp/PRVWeaeAymAPGk09zWmNO3fVTuOFuEPv7Ts/2RKFYMrta0+IgGF0zIjEmG8q1x1eNBxcsAkyrzcbeRMg6/Uyn5hbDlrtlvKs7ORknEFBjCW5f+XfA2QIV4BuDizZcAOVfURlqzkgeqsowGEcV5fnxWXF5Wvvfme6dFBSqcaljSvZJizcUbP9qVWPuYF1dlXKyRbtIkEyA9/fGdcKgmbaMp78HAetqF0sqwIDtgG3TgkStx+9Pjeqma9a1KOUQs2oBEbOQFSAX/vE4fYl5TIwR5PLWmihry4Me4p08r43A==
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=rpAEBc/or3ESXtFE0QOM0tcK1W3kg6F3VODnpgGMSwg=;
 b=PMwmTvfyat8jKsbh5xlrE93QNQh+V5yjLMXq942HCeIX9JS2rmKWe1QBKpM0YjsemElDlITBceummUsChKgOm9f738scd2eutMJPw2UYjthFPETgsqhdYDpQd/Hv7sj8flldAnvZ1CLg875ISEEDt8a1QDO0YpeLAzTdTjaO6G0=
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 VI1PR04MB6096.eurprd04.prod.outlook.com (2603:10a6:803:f6::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3045.17; Mon, 1 Jun
 2020 13:36:18 +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.3045.024; Mon, 1 Jun 2020
 13:36:18 +0000
From: "Pankaj Bansal" <pankaj.bansal@nxp.com>
To: Leif Lindholm <leif@nuviainc.com>,
	Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	devel@edk2.groups.io,
	Varun Sethi <V.Sethi@nxp.com>,
	Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>,
	Jon Nettleton <jon@solid-run.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: [PATCH edk2-platforms v4 06/10] Silicon/NXP: Implement PL011UartClockLib for NXP platforms
Date: Mon,  1 Jun 2020 19:04:35 +0530
Message-ID: <20200601133439.5711-7-pankaj.bansal@oss.nxp.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20200601133439.5711-1-pankaj.bansal@oss.nxp.com>
References: <20200601133439.5711-1-pankaj.bansal@oss.nxp.com>
X-ClientProxiedBy: SG2PR02CA0097.apcprd02.prod.outlook.com
 (2603:1096:4:92::13) 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 SG2PR02CA0097.apcprd02.prod.outlook.com (2603:1096:4:92::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3045.17 via Frontend Transport; Mon, 1 Jun 2020 13:36:15 +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: 8dfd3c10-5ebc-4761-7c90-08d80630c31d
X-MS-TrafficTypeDiagnostic: VI1PR04MB6096:
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: 
	<VI1PR04MB6096B79EE5427A011CF05290B08A0@VI1PR04MB6096.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:3631;
X-Forefront-PRVS: 0421BF7135
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	rl1bh4EgjGHPBv5X4HfkX2BKde995pfIZ6MsqMk8cYqAQKCpqz65mmSGRjrJS/xIs5TUIWwayBeavBP44t+pOmaIba0f8tcxONKOT+rD6PjDW9AV0IclQwrmA1xaJ7n8Zi6N0H3Jxi16vIiV2ZzYeKvwimI7WkGqrHq30B1SiMqmPvEvFtZLJpjtVbg1FbF0k6eimhEKwosTu3ZZLpwwXPV+pJ8kF8w/fifcBUG78dg4VTwXXGs95Yiuve8Gi23YOtaY6cqv8364TcZpSepDgAwGit/aKOqQo2ZXIyLH2BCQwqzeuYkO4LhKlwxm0owS9ISbZ89xlMNnj4cayoFsvA==
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)(366004)(376002)(346002)(396003)(136003)(39860400002)(110136005)(1076003)(316002)(86362001)(6666004)(44832011)(16526019)(478600001)(6506007)(26005)(6512007)(186003)(6486002)(52116002)(956004)(66556008)(66476007)(66946007)(2906002)(2616005)(5660300002)(19627235002)(83380400001)(8936002)(8676002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData: 
	uIU0dpky67J012tRGP4JRvcerRfG+4nBsiV7h4mmmpCurJFeV77Y3LqI4WUJ2yObuCy7e701ySjsl7LJM+aTjkQa+MEh92Cp+b3coFix6ifaPDIBgv/smZz4h6IaN9lXWEnqAOrzNo0ztdjtrh/EGr7TsXbLp8OBXkVarsbeVmlxmaIZTLhtZcLHuzchEiO+FEuTBhwO5v5vzSN4ZKJt6DmHBwp8gkCbuWvtjVzpcTEflkxRk26+FxMeKFszb2FDMqIKcvCugKYwlKpkAcK/l9ZGIvg5oQ5n5zZi65cGXteNgEOdc+QYnGoCTX0zS/k1s+csW1N2xyUdAafkBOdFs0jq3ZnbjcpaoU1nT5n/Rbs0c401R8azu9QE5VX6gwJTEKs+T1BBRvfGXaD3yFWXoCuLh/4UHajtNf7+oHkfNLMKyi0j1F7B+s4nVKn5/jX2GQny6TVG4X8xf0IADzHp6cAA9CtDPJgncj330JK7T2c=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8dfd3c10-5ebc-4761-7c90-08d80630c31d
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2020 13:36:18.1087
 (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: 9t06lmlnk9BolzOC5hIBJpbNGnZGI/Mh3ff9/5wRFpH6oLW9lZ4EtUG7WZvW9cFIT6w3yP1lMr1qW9DmK7Svxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6096
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain

From: Pankaj Bansal <pankaj.bansal@nxp.com>

In NXP SOCs the UART clock is derived from System clock after PLL
multiplication. Therefore, add the PL011UartClockLib implementation
for NXP platforms.

Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
---

Notes:
    V4:
    - No change
   =20
    V3:
    - No change
   =20
    V2:
    - No change

 Silicon/NXP/Library/PL011UartClockLib/PL011UartClockLib.inf | 24 +++++++++=
+++++++++++
 Silicon/NXP/Library/PL011UartClockLib/PL011UartClockLib.c   | 22 +++++++++=
+++++++++
 2 files changed, 46 insertions(+)

diff --git a/Silicon/NXP/Library/PL011UartClockLib/PL011UartClockLib.inf b/=
Silicon/NXP/Library/PL011UartClockLib/PL011UartClockLib.inf
new file mode 100644
index 000000000000..b771dba7697f
--- /dev/null
+++ b/Silicon/NXP/Library/PL011UartClockLib/PL011UartClockLib.inf
@@ -0,0 +1,24 @@
+#/* @file
+#  Copyright 2018, 2020 NXP
+#
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+#*/
+
+[Defines]
+  INF_VERSION                    =3D 0x0001001A
+  BASE_NAME                      =3D PL011UartClockLib
+  FILE_GUID                      =3D af8fef24-afbb-472a-b8b7-13101a79703c
+  MODULE_TYPE                    =3D BASE
+  VERSION_STRING                 =3D 1.0
+  LIBRARY_CLASS                  =3D PL011UartClockLib
+
+[Packages]
+  MdePkg/MdePkg.dec
+  Silicon/NXP/NxpQoriqLs.dec
+
+[Sources.common]
+  PL011UartClockLib.c
+
+[LibraryClasses]
+  ArmPlatformLib
diff --git a/Silicon/NXP/Library/PL011UartClockLib/PL011UartClockLib.c b/Si=
licon/NXP/Library/PL011UartClockLib/PL011UartClockLib.c
new file mode 100644
index 000000000000..3814685585eb
--- /dev/null
+++ b/Silicon/NXP/Library/PL011UartClockLib/PL011UartClockLib.c
@@ -0,0 +1,22 @@
+/** @file
+*
+*  Copyright 2018, 2020 NXP
+*
+*  SPDX-License-Identifier: BSD-2-Clause-Patent
+*
+**/
+
+#include <Base.h>
+#include <Ppi/NxpPlatformGetClock.h>
+
+/**
+  Return clock in for PL011 Uart IP
+**/
+UINT32
+EFIAPI
+PL011UartClockGetFreq (
+  VOID
+  )
+{
+  return gPlatformGetClockPpi.PlatformGetClock (NXP_UART_CLOCK, 0);
+}
--=20
2.17.1