From: "Leif Lindholm" <leif@nuviainc.com>
To: Pankaj Bansal <pankaj.bansal@oss.nxp.com>
Cc: 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: Re: [PATCH edk2-platforms v3 14/24] Silicon/NXP: Use Clock retrieval PPI in modules
Date: Thu, 23 Apr 2020 10:25:18 +0100 [thread overview]
Message-ID: <20200423092518.GT14075@vanye> (raw)
In-Reply-To: <20200415121342.9246-15-pankaj.bansal@oss.nxp.com>
On Wed, Apr 15, 2020 at 17:43:32 +0530, Pankaj Bansal wrote:
> From: Pankaj Bansal <pankaj.bansal@nxp.com>
>
> Use NXP_PLATFORM_GET_CLOCK_PPI in various Layerscape IP modules.
>
> Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
> ---
>
> Notes:
> - Added clock retrieval APIs to DUartPortLib
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
>
> Silicon/NXP/NxpQoriqLs.dec | 5 ----
> Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc | 2 --
> Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf | 2 +-
> Silicon/NXP/Library/DUartPortLib/DUartPortLib.inf | 5 ++--
> Silicon/NXP/Library/SocLib/LS1043aSocLib.inf | 1 -
> Silicon/NXP/Drivers/I2cDxe/I2cDxe.h | 6 ----
> Silicon/NXP/Include/Chassis2/NxpSoc.h | 9 ------
> Silicon/NXP/Library/DUartPortLib/DUart.h | 8 +----
> Silicon/NXP/Drivers/I2cDxe/I2cDxe.c | 3 +-
> Silicon/NXP/Library/DUartPortLib/DUartPortLib.c | 7 ++---
> Silicon/NXP/Library/SocLib/Chassis.c | 15 ----------
> Silicon/NXP/Library/SocLib/Chassis2/Soc.c | 31 --------------------
> 12 files changed, 9 insertions(+), 85 deletions(-)
>
> diff --git a/Silicon/NXP/NxpQoriqLs.dec b/Silicon/NXP/NxpQoriqLs.dec
> index b478560450b3..2ac047a89274 100644
> --- a/Silicon/NXP/NxpQoriqLs.dec
> +++ b/Silicon/NXP/NxpQoriqLs.dec
> @@ -22,11 +22,6 @@
> gNxpNonDiscoverableI2cMasterGuid = { 0x5f2c099c, 0x54a3, 0x4dd4, {0x9e, 0xc5, 0xe9, 0x12, 0x8c, 0x36, 0x81, 0x6a}}
>
> [PcdsFixedAtBuild.common]
> - #
> - # Platform PCDs
> - #
> - gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv|0x0|UINT32|0x00000250
> -
> #
> # Pcds to support Big Endian IPs
> #
> diff --git a/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc b/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc
> index e5383aaf0cc5..d486c9b36fab 100644
> --- a/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc
> +++ b/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc
> @@ -39,8 +39,6 @@
> gArmTokenSpaceGuid.PcdSystemMemorySize|0x7BE00000
> gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x02000000
>
> - gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv|0x1
> -
> #
> # RTC Pcds
> #
> diff --git a/Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf b/Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf
> index 867376044656..3bf7a8124fc6 100644
> --- a/Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf
> +++ b/Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf
> @@ -25,13 +25,13 @@
>
> [LibraryClasses]
> ArmLib
> + ArmPlatformLib
> BaseMemoryLib
> DevicePathLib
> I2cLib
> IoLib
> MemoryAllocationLib
> PcdLib
> - SocLib
> TimerLib
> UefiBootServicesTableLib
> UefiDriverEntryPoint
> diff --git a/Silicon/NXP/Library/DUartPortLib/DUartPortLib.inf b/Silicon/NXP/Library/DUartPortLib/DUartPortLib.inf
> index 7a2fa619b027..b8a77ae05243 100644
> --- a/Silicon/NXP/Library/DUartPortLib/DUartPortLib.inf
> +++ b/Silicon/NXP/Library/DUartPortLib/DUartPortLib.inf
> @@ -3,7 +3,7 @@
> # Component description file for DUartPortLib module
> #
> # Copyright (c) 2013, Freescale Ltd. All rights reserved.
> -# Copyright 2017 NXP
> +# Copyright 2017, 2020 NXP
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent
> #
> @@ -20,8 +20,8 @@
> DUartPortLib.c
>
> [LibraryClasses]
> + ArmPlatformLib
> PcdLib
> - SocLib
>
> [Packages]
> MdeModulePkg/MdeModulePkg.dec
> @@ -31,4 +31,3 @@
> [Pcd]
> gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
> gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
> - gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv
> diff --git a/Silicon/NXP/Library/SocLib/LS1043aSocLib.inf b/Silicon/NXP/Library/SocLib/LS1043aSocLib.inf
> index 3d38a7e58b91..bb15e0a3d710 100644
> --- a/Silicon/NXP/Library/SocLib/LS1043aSocLib.inf
> +++ b/Silicon/NXP/Library/SocLib/LS1043aSocLib.inf
> @@ -36,4 +36,3 @@
> [FixedPcd]
> gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString
> gNxpQoriqLsTokenSpaceGuid.PcdGurBigEndian
> - gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv
> diff --git a/Silicon/NXP/Drivers/I2cDxe/I2cDxe.h b/Silicon/NXP/Drivers/I2cDxe/I2cDxe.h
> index 88316f313380..7c4a306c16a0 100644
> --- a/Silicon/NXP/Drivers/I2cDxe/I2cDxe.h
> +++ b/Silicon/NXP/Drivers/I2cDxe/I2cDxe.h
> @@ -37,12 +37,6 @@ typedef struct {
> NON_DISCOVERABLE_DEVICE *Dev;
> } NXP_I2C_MASTER;
>
> -extern
> -UINT64
> -GetBusFrequency (
> - VOID
> - );
> -
> EFI_STATUS
> NxpI2cInit (
> IN EFI_HANDLE DriverBindingHandle,
> diff --git a/Silicon/NXP/Include/Chassis2/NxpSoc.h b/Silicon/NXP/Include/Chassis2/NxpSoc.h
> index 6812beafe447..3f00a2614131 100644
> --- a/Silicon/NXP/Include/Chassis2/NxpSoc.h
> +++ b/Silicon/NXP/Include/Chassis2/NxpSoc.h
> @@ -27,10 +27,6 @@
> #define SACR_PAGESIZE_MASK 0x00010000
> #define IDR1_PAGESIZE_MASK 0x80000000
>
> -typedef struct {
> - UINTN FreqSystemBus;
> -} SYS_INFO;
> -
> /* Device Configuration and Pin Control */
> typedef struct {
> UINT8 Res0[0x100-0x00];
> @@ -39,11 +35,6 @@ typedef struct {
> #define CHASSIS2_RCWSR0_SYS_PLL_RAT_MASK 0x1f
> } CCSR_GUR;
>
> -VOID
> -GetSysInfo (
> - OUT SYS_INFO *
> - );
> -
> UINT32
> EFIAPI
> GurRead (
> diff --git a/Silicon/NXP/Library/DUartPortLib/DUart.h b/Silicon/NXP/Library/DUartPortLib/DUart.h
> index c71e2ce55d1d..aca7cd8d3f01 100644
> --- a/Silicon/NXP/Library/DUartPortLib/DUart.h
> +++ b/Silicon/NXP/Library/DUartPortLib/DUart.h
> @@ -5,7 +5,7 @@
> *
> * Copyright (c) 2011-2012, ARM Limited. All rights reserved.
> * Copyright (c) 2016, Freescale Semiconductor, Inc. All rights reserved.
> -* Copyright 2017 NXP
> +* Copyright 2017, 2020 NXP
> *
> * SPDX-License-Identifier: BSD-2-Clause-Patent
> *
> @@ -113,10 +113,4 @@
> #define USCR 0x7
> #define UDSR 0x10
>
> -extern
> -UINT64
> -GetBusFrequency (
> - VOID
> - );
> -
> #endif /* DUART_H_ */
> diff --git a/Silicon/NXP/Drivers/I2cDxe/I2cDxe.c b/Silicon/NXP/Drivers/I2cDxe/I2cDxe.c
> index a5aba47b3ed4..30804450d2b7 100644
> --- a/Silicon/NXP/Drivers/I2cDxe/I2cDxe.c
> +++ b/Silicon/NXP/Drivers/I2cDxe/I2cDxe.c
> @@ -17,6 +17,7 @@
> #include <Library/UefiBootServicesTableLib.h>
> #include <Library/UefiLib.h>
> #include <Library/UefiRuntimeLib.h>
> +#include <Ppi/NxpPlatformGetClock.h>
>
> #include "I2cDxe.h"
>
> @@ -51,7 +52,7 @@ SetBusFrequency (
>
> I2cBase = (UINTN)(I2c->Dev->Resources[0].AddrRangeMin);
>
> - I2cClock = GetBusFrequency ();
> + I2cClock = gPlatformGetClockPpi.PlatformGetClock (NXP_I2C_CLOCK, 0);
>
> I2cInitialize (I2cBase, I2cClock, *BusClockHertz);
>
> diff --git a/Silicon/NXP/Library/DUartPortLib/DUartPortLib.c b/Silicon/NXP/Library/DUartPortLib/DUartPortLib.c
> index c3c738d3cca8..f9c2c44a4c3b 100644
> --- a/Silicon/NXP/Library/DUartPortLib/DUartPortLib.c
> +++ b/Silicon/NXP/Library/DUartPortLib/DUartPortLib.c
> @@ -6,7 +6,7 @@
> Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
> Copyright (c) 2012 - 2013, ARM Ltd. All rights reserved.<BR>
> Copyright (c) 2016, Freescale Semiconductor, Inc. All rights reserved.
> - Copyright 2017 NXP
> + Copyright 2017, 2020 NXP
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -16,6 +16,7 @@
> #include <Library/IoLib.h>
> #include <Library/PcdLib.h>
> #include <Library/SerialPortLib.h>
> +#include <Ppi/NxpPlatformGetClock.h>
>
> #include "DUart.h"
>
> @@ -169,10 +170,8 @@ CalculateBaudDivisor (
> )
> {
> UINTN DUartClk;
> - UINTN FreqSystemBus;
>
> - FreqSystemBus = GetBusFrequency ();
> - DUartClk = FreqSystemBus/PcdGet32(PcdPlatformFreqDiv);
> + DUartClk = gPlatformGetClockPpi.PlatformGetClock (NXP_UART_CLOCK, 0);
>
> return ((DUartClk)/(BaudRate * 16));
> }
> diff --git a/Silicon/NXP/Library/SocLib/Chassis.c b/Silicon/NXP/Library/SocLib/Chassis.c
> index 1ef99e8de25f..90677f0f36ca 100644
> --- a/Silicon/NXP/Library/SocLib/Chassis.c
> +++ b/Silicon/NXP/Library/SocLib/Chassis.c
> @@ -37,21 +37,6 @@ GurRead (
> }
> }
>
> -/*
> - * Return system bus frequency
> - */
> -UINT64
> -GetBusFrequency (
> - VOID
> - )
> -{
> - SYS_INFO SocSysInfo;
> -
> - GetSysInfo (&SocSysInfo);
> -
> - return SocSysInfo.FreqSystemBus;
> -}
> -
> /*
> * Setup SMMU in bypass mode
> * and also set its pagesize
> diff --git a/Silicon/NXP/Library/SocLib/Chassis2/Soc.c b/Silicon/NXP/Library/SocLib/Chassis2/Soc.c
> index 480d8d18fb9f..b14ada7f595d 100644
> --- a/Silicon/NXP/Library/SocLib/Chassis2/Soc.c
> +++ b/Silicon/NXP/Library/SocLib/Chassis2/Soc.c
> @@ -21,37 +21,6 @@
> #include <Library/SocLib.h>
> #include <Soc.h>
>
> -/**
> - Calculate the frequency of various controllers and
> - populate the passed structure with frequuencies.
> -
> - @param PtrSysInfo Input structure to populate with
> - frequencies.
> -**/
> -VOID
> -GetSysInfo (
> - OUT SYS_INFO *PtrSysInfo
> - )
> -{
> - CCSR_GUR *GurBase;
> - UINTN SysClk;
> -
> - GurBase = (CCSR_GUR *)CHASSIS2_DCFG_ADDRESS;
> - SysClk = CLK_FREQ;
> -
> - SetMem (PtrSysInfo, sizeof (SYS_INFO), 0);
> -
> - PtrSysInfo->FreqSystemBus = SysClk;
> -
> - //
> - // selects the platform clock:SYSCLK ratio and calculate
> - // system frequency
> - //
> - PtrSysInfo->FreqSystemBus *= (GurRead ((UINTN)&GurBase->RcwSr[0]) >>
> - CHASSIS2_RCWSR0_SYS_PLL_RAT_SHIFT) &
> - CHASSIS2_RCWSR0_SYS_PLL_RAT_MASK;
> -}
> -
> /**
> Return the input clock frequency to an IP Module.
> This function reads the RCW bits and calculates the PLL multipler/divider
> --
> 2.17.1
>
next prev parent reply other threads:[~2020-04-23 9:25 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-15 12:13 [PATCH edk2-platforms v3 00/24] Add PEI phase to LS1043ARDB Platform Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 01/24] Silicon/NXP: Add I2c lib Pankaj Bansal
2020-04-22 16:38 ` Leif Lindholm
2020-04-24 6:53 ` Pankaj Bansal
2020-04-24 11:47 ` Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 02/24] Silicon/NXP: changes to use I2clib in i2cdxe Pankaj Bansal
2020-04-22 16:41 ` Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 03/24] Silicon/NXP/I2cDxe: Fix I2c Timeout with RTC Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 04/24] Silicon/Maxim: Fix bug in RtcWrite in Ds1307RtcLib Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 05/24] Silicon/Maxim: Add comments " Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 06/24] NXP/LS1043aRdb: Move Soc specific components to soc files Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 07/24] Silicon/NXP: remove print information from Soc lib Pankaj Bansal
2020-04-22 16:51 ` [PATCH edk2-platforms v3 07/24] Silicon/NXP: remove print information from Soc Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 08/24] Silicon/NXP: remove not needed components Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 09/24] Silicon/NXP: Remove unnecessary PCDs Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 10/24] Silicon/NXP: Move dsc file Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 11/24] Platform/NXP: rename the ArmPlatformLib as per ArmPlatformPkg Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 12/24] Silicon/NXP: Move RAM retrieval from SocLib Pankaj Bansal
2020-04-23 9:15 ` Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 13/24] Platform/NXP/LS1043aRdbPkg: Add Clock retrieval APIs Pankaj Bansal
2020-04-23 9:19 ` Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 14/24] Silicon/NXP: Use Clock retrieval PPI in modules Pankaj Bansal
2020-04-23 9:25 ` Leif Lindholm [this message]
2020-04-15 12:13 ` [PATCH edk2-platforms v3 15/24] Silicon: NXP: Remove direct calls to SwapMmio* APIs Pankaj Bansal
2020-04-23 9:27 ` Leif Lindholm
2020-04-23 10:11 ` Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 16/24] Silicon/NXP: Add Chassis2 Package Pankaj Bansal
2020-04-23 10:27 ` Leif Lindholm
2020-04-23 11:38 ` Pankaj Bansal
2020-04-23 11:57 ` Leif Lindholm
2020-04-23 12:02 ` Pankaj Bansal
2020-04-23 12:05 ` Leif Lindholm
2020-04-23 13:41 ` Pankaj Bansal
2020-04-23 14:18 ` Leif Lindholm
2020-04-23 14:45 ` Pankaj Bansal
2020-04-23 15:26 ` Leif Lindholm
2020-04-24 2:42 ` Pankaj Bansal
2020-04-24 15:51 ` Leif Lindholm
2020-04-28 17:46 ` [edk2-devel] " Ard Biesheuvel
2020-04-28 17:50 ` Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 17/24] Silicon/NXP/LS1043A: Use ChassisLib from Chassis2 Pkg Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 18/24] Silicon/NXP/LS1043A: Move SocLib to Soc Package Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 19/24] NXP/LS1043aRdbPkg/ArmPlatformLib: Remove extern SocInit Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 20/24] NXP: LS1043aRdbPkg: Use ArmPlatformHelper.S from ArmPlatformPkg Pankaj Bansal
2020-04-23 10:28 ` Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 21/24] Platform/NXP: Use FV rules from ArmVirtPkg Pankaj Bansal
2020-04-23 10:31 ` Leif Lindholm
2020-04-24 6:24 ` Pankaj Bansal
2020-04-24 11:43 ` Leif Lindholm
2020-04-15 12:13 ` [PATCH edk2-platforms v3 22/24] Platform/NXP/LS1043aRdbPkg: Add VarStore Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 23/24] Silicon/NXP: move MemoryInitPeiLib as per PEIM structures Pankaj Bansal
2020-04-15 12:13 ` [PATCH edk2-platforms v3 24/24] Platform/NXP/LS1043aRdbPkg: Add PEI Phase Pankaj Bansal
2020-04-23 10:33 ` Leif Lindholm
2020-04-22 10:46 ` [PATCH edk2-platforms v3 00/24] Add PEI phase to LS1043ARDB Platform Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200423092518.GT14075@vanye \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox