From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by mx.groups.io with SMTP id smtpd.web12.5825.1585745252103699433 for ; Wed, 01 Apr 2020 05:47:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=LEnBFd+5; spf=pass (domain: nuviainc.com, ip: 209.85.221.65, mailfrom: leif@nuviainc.com) Received: by mail-wr1-f65.google.com with SMTP id d5so30470038wrn.2 for ; Wed, 01 Apr 2020 05:47:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=sczv2LX68/V2A9kT+YPVPHc8DKy3+RluzmrYgbFriB0=; b=LEnBFd+5yvZ8XVZsZfhg7Cb6BnvIBsdasTusU+FeaE/6fWYgFRYPBtdy7R3jAdTpyE O88FXPEbliGsIRtYZhk1mRy8U6pidJKoDv3ZhWF4JuUmE41qLAHSyfnKvkfoQaqo1zgL A+XW3cZd8PG/NOmuugttMgo02Egamm8UlFPhkM+1dZqibTfhgtRYKdQi51s/0y7ksAYW zL59EPvOHq0qyVZftUWEOhZx6Ge48DBM9JPIZR61pAaTQ+Md4sBOF+OarotomgxOI7/r S8FPaDB9wism272w9AQzcx5+ML86eDYYtVQXYqIT1G9pfWY93F/9DVHfyTqIPoKLNS3C Eevg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=sczv2LX68/V2A9kT+YPVPHc8DKy3+RluzmrYgbFriB0=; b=qdzdup3lr5IsPL5JzAA8cnwG63jCBy+ZqxHHbQSpXEa8qrI4F5+sdL5dRjl1mTIG1U fbSClyhB7s8HPpR6JWy1obbua+I3KFiYQpXl5HT5aXdIdKUFFqWM3jrBLohPOPB5GaBz J7JdT4EJWJuQVEIPF4vipE0QIq0Rg7RBkhsQ12OW5Qv9L2CDRRYL+/f8JBFe5IzwFpH6 S+hzDBNVmhHGjF3WQCr3eCSyaToPMvaZiQY0+5OElZQCPUs4TLkXaKqrEUZvGsHXZGJm +FPoxhyyEP9/MhFwwvbtQBTizGtKhyB6xj+jWxskywBFUTENt0EEJyuCMt1yofrZZw7X eLgQ== X-Gm-Message-State: ANhLgQ1W45mFB9qcz5iAXN9Z+L6KFBq7JOK80GQrMZXmyyTZ7CHhW75S vLEmdReXeU9e6YAmyoCKNhOdMw== X-Google-Smtp-Source: ADFU+vvJ7Z1cik2Xm8P5JneC0D6tKz0HXSWHLmZS5bthlap6clyyiOoEYDuopq4VlQbIz9Z9gfQw/w== X-Received: by 2002:adf:dec3:: with SMTP id i3mr27317519wrn.351.1585745250578; Wed, 01 Apr 2020 05:47:30 -0700 (PDT) Return-Path: Received: from vanye ([2001:470:1f09:12f0:b26e:bfff:fea9:f1b8]) by smtp.gmail.com with ESMTPSA id t10sm2567637wrx.38.2020.04.01.05.47.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Apr 2020 05:47:30 -0700 (PDT) Date: Wed, 1 Apr 2020 13:47:28 +0100 From: "Leif Lindholm" To: Pankaj Bansal Cc: Meenakshi Aggarwal , Michael D Kinney , devel@edk2.groups.io, Varun Sethi , Samer El-Haj-Mahmoud , Jon Nettleton Subject: Re: [PATCH v2 17/28] Silicon/NXP: Use Clock retrieval PPI in modules Message-ID: <20200401124728.GY7468@vanye> References: <20200320143543.18615-1-pankaj.bansal@oss.nxp.com> <20200320143543.18615-18-pankaj.bansal@oss.nxp.com> MIME-Version: 1.0 In-Reply-To: <20200320143543.18615-18-pankaj.bansal@oss.nxp.com> User-Agent: Mutt/1.10.1 (2018-07-13) Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Mar 20, 2020 at 20:05:32 +0530, Pankaj Bansal wrote: > From: Pankaj Bansal > > Use NXP_PLATFORM_GET_CLOCK_PPI in various Layerscape IP modules. > > Signed-off-by: Pankaj Bansal Reviewed-by: Leif Lindholm > --- > Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.dsc | 2 -- > Silicon/NXP/Drivers/I2cDxe/I2cDxe.c | 3 +- > Silicon/NXP/Drivers/I2cDxe/I2cDxe.h | 6 ---- > Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf | 2 +- > Silicon/NXP/Include/Chassis2/NxpSoc.h | 9 ------ > .../SerialUartClockLib/SerialUartClockLib.c | 9 ++---- > .../SerialUartClockLib/SerialUartClockLib.inf | 2 +- > Silicon/NXP/Library/SocLib/Chassis.c | 15 --------- > Silicon/NXP/Library/SocLib/Chassis2/Soc.c | 31 ------------------- > Silicon/NXP/Library/SocLib/LS1043aSocLib.inf | 1 - > Silicon/NXP/NxpQoriqLs.dec | 5 --- > 11 files changed, 6 insertions(+), 79 deletions(-) > > 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 @@ [PcdsFixedAtBuild.common] > gArmTokenSpaceGuid.PcdSystemMemorySize|0x7BE00000 > gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x02000000 > > - gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv|0x1 > - > # > # RTC Pcds > # > 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 > #include > #include > +#include > > #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/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/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 @@ [Sources.common] > > [LibraryClasses] > ArmLib > + ArmPlatformLib > BaseMemoryLib > DevicePathLib > I2cLib > IoLib > MemoryAllocationLib > PcdLib > - SocLib > TimerLib > UefiBootServicesTableLib > UefiDriverEntryPoint > 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/SerialUartClockLib/SerialUartClockLib.c b/Silicon/NXP/Library/SerialUartClockLib/SerialUartClockLib.c > index 9d49d7b4748b..eb29cf0373cc 100644 > --- a/Silicon/NXP/Library/SerialUartClockLib/SerialUartClockLib.c > +++ b/Silicon/NXP/Library/SerialUartClockLib/SerialUartClockLib.c > @@ -7,12 +7,7 @@ > **/ > > #include > - > -extern > -UINT64 > -GetBusFrequency ( > - VOID > - ); > +#include > > /** > Return clock in for Uart IP > @@ -23,5 +18,5 @@ BaseSerialPortGetClock ( > VOID > ) > { > - return GetBusFrequency (); > + return gPlatformGetClockPpi.PlatformGetClock (NXP_I2C_CLOCK, 0); > } > diff --git a/Silicon/NXP/Library/SerialUartClockLib/SerialUartClockLib.inf b/Silicon/NXP/Library/SerialUartClockLib/SerialUartClockLib.inf > index 9a3e80cf521d..c8840281763b 100644 > --- a/Silicon/NXP/Library/SerialUartClockLib/SerialUartClockLib.inf > +++ b/Silicon/NXP/Library/SerialUartClockLib/SerialUartClockLib.inf > @@ -22,5 +22,5 @@ [Sources.common] > SerialUartClockLib.c > > [LibraryClasses] > - SocLib > + ArmPlatformLib > > 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 > #include > > -/** > - 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 > 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 @@ [BuildOptions] > [FixedPcd] > gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString > gNxpQoriqLsTokenSpaceGuid.PcdGurBigEndian > - gNxpQoriqLsTokenSpaceGuid.PcdPlatformFreqDiv > 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 @@ [Guids.common] > 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 > # > -- > 2.17.1 >