* [PATCH v2 0/2] ArmPlatformPkg: PL011 Dynamic clock freq Support @ 2018-06-05 17:59 Udit Kumar 2018-06-05 17:59 ` [PATCH 1/2] " Udit Kumar 2018-06-05 17:59 ` [PATCH 2/2] ArmPlatformPkg: Include PL011UartClock Lib Udit Kumar 0 siblings, 2 replies; 7+ messages in thread From: Udit Kumar @ 2018-06-05 17:59 UTC (permalink / raw) To: ard.biesheuvel, leif.lindholm, edk2-devel [v2] Incorporated review comments of v1 Udit Kumar (2): ArmPlatformPkg: PL011 Dynamic clock freq Support ArmPlatformPkg: Include PL011UartClock Lib ArmPlatformPkg/ArmPlatformPkg.dec | 1 + ArmPlatformPkg/Include/Library/PL011UartClockLib.h | 32 +++++++++++++++++++ .../PL011SerialPortLib/PL011SerialPortLib.c | 5 +-- .../PL011SerialPortLib/PL011SerialPortLib.inf | 1 + .../Library/PL011UartClockLib/PL011UartClockLib.c | 29 +++++++++++++++++ .../PL011UartClockLib/PL011UartClockLib.inf | 37 ++++++++++++++++++++++ 6 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 ArmPlatformPkg/Include/Library/PL011UartClockLib.h create mode 100644 ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c create mode 100644 ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf -- 1.9.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] ArmPlatformPkg: PL011 Dynamic clock freq Support 2018-06-05 17:59 [PATCH v2 0/2] ArmPlatformPkg: PL011 Dynamic clock freq Support Udit Kumar @ 2018-06-05 17:59 ` Udit Kumar 2018-06-11 10:05 ` Ard Biesheuvel 2018-06-05 17:59 ` [PATCH 2/2] ArmPlatformPkg: Include PL011UartClock Lib Udit Kumar 1 sibling, 1 reply; 7+ messages in thread From: Udit Kumar @ 2018-06-05 17:59 UTC (permalink / raw) To: ard.biesheuvel, leif.lindholm, edk2-devel Some platform support dynamic clocking, Which is controlled by some jumper setting or hardware registers. Result of that PCD PL011UartClkInHz needs to be updated for frequency change. This patch implements support for dynamic frequency for PL011 uart. This patch implements default lib, which is using Pcd. Platform which needs dynamic clocking needs implement PL011UartClockLib Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Udit Kumar <udit.kumar@nxp.com> --- ArmPlatformPkg/ArmPlatformPkg.dec | 1 + ArmPlatformPkg/Include/Library/PL011UartClockLib.h | 32 +++++++++++++++++++ .../Library/PL011UartClockLib/PL011UartClockLib.c | 29 +++++++++++++++++ .../PL011UartClockLib/PL011UartClockLib.inf | 37 ++++++++++++++++++++++ 4 files changed, 99 insertions(+) create mode 100644 ArmPlatformPkg/Include/Library/PL011UartClockLib.h create mode 100644 ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c create mode 100644 ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec b/ArmPlatformPkg/ArmPlatformPkg.dec index dff4598..5f67e74 100644 --- a/ArmPlatformPkg/ArmPlatformPkg.dec +++ b/ArmPlatformPkg/ArmPlatformPkg.dec @@ -36,6 +36,7 @@ LcdHwLib|Include/Library/LcdHwLib.h LcdPlatformLib|Include/Library/LcdPlatformLib.h NorFlashPlatformLib|Include/Library/NorFlashPlatformLib.h + PL011UartClockLib|Include/Library/PL011UartClockLib.h PL011UartLib|Include/Library/PL011UartLib.h [Guids.common] diff --git a/ArmPlatformPkg/Include/Library/PL011UartClockLib.h b/ArmPlatformPkg/Include/Library/PL011UartClockLib.h new file mode 100644 index 0000000..93813a0 --- /dev/null +++ b/ArmPlatformPkg/Include/Library/PL011UartClockLib.h @@ -0,0 +1,32 @@ +/** @file +* +* Copyright 2018 NXP +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#ifndef __PL011CLOCKLIB_H__ +#define __PL011CLOCKLIB_H__ + + +/** + Return frequency of PL011. + + By default this function returns FixedPcdGet32 (PL011UartClkInHz) + + @return Return frequency of PL011 + +**/ +UINT32 +ArmPlatformGetPL011ClockFreq ( + VOID + ); + +#endif diff --git a/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c new file mode 100644 index 0000000..b56af14 --- /dev/null +++ b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c @@ -0,0 +1,29 @@ +/** @file +* +* Copyright 2018 NXP +* +* This program and the accompanying materials +* are licensed and made available under the terms and conditions of the BSD License +* which accompanies this distribution. The full text of the license may be found at +* http://opensource.org/licenses/bsd-license.php +* +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +* +**/ + +#include <Library/PL011UartClockLib.h> + +/** + Return clock in for PL011 Uart IP. +**/ +UINT32 +ArmPlatformGetPL011ClockFreq ( + VOID + ) +{ + // This function needs to be implemented on platforms which supports + // dynamic clocking to avoid re-building of UEFI firmware for PL011 + // clock change + return FixedPcdGet32 (PL011UartClkInHz); +} diff --git a/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf new file mode 100644 index 0000000..5f6f699 --- /dev/null +++ b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf @@ -0,0 +1,37 @@ +#/* @file +# Copyright 2018 NXP +# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +#*/ + +[Defines] + INF_VERSION = 0x0001000A + BASE_NAME = PL011UartClockLib + FILE_GUID = af8fef24-afbb-472a-b8b7-13101a79703c + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = PL011UartClockLib + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + ArmPkg/ArmPkg.dec + ArmPlatformPkg/ArmPlatformPkg.dec + +[LibraryClasses] + ArmLib + DebugLib + +[Sources.common] + PL011UartClockLib.c + +[FixedPcd] + gArmPlatformTokenSpaceGuid.PL011UartClkInHz + -- 1.9.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] ArmPlatformPkg: PL011 Dynamic clock freq Support 2018-06-05 17:59 ` [PATCH 1/2] " Udit Kumar @ 2018-06-11 10:05 ` Ard Biesheuvel 2018-06-11 10:32 ` Udit Kumar 0 siblings, 1 reply; 7+ messages in thread From: Ard Biesheuvel @ 2018-06-11 10:05 UTC (permalink / raw) To: Udit Kumar; +Cc: Leif Lindholm, edk2-devel@lists.01.org Hello Udit, Apologies for not bringing this up the first time, but I have some additional comments. The first time around, I only had a cursory look because at that point I was still skeptical whether we needed this library in the first place. On 5 June 2018 at 19:59, Udit Kumar <udit.kumar@nxp.com> wrote: > Some platform support dynamic clocking, Which is controlled > by some jumper setting or hardware registers. > Result of that PCD PL011UartClkInHz needs to be updated for > frequency change. > This patch implements support for dynamic frequency for > PL011 uart. > This patch implements default lib, which is using Pcd. > Platform which needs dynamic clocking needs implement > PL011UartClockLib > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Udit Kumar <udit.kumar@nxp.com> > --- > ArmPlatformPkg/ArmPlatformPkg.dec | 1 + > ArmPlatformPkg/Include/Library/PL011UartClockLib.h | 32 +++++++++++++++++++ > .../Library/PL011UartClockLib/PL011UartClockLib.c | 29 +++++++++++++++++ > .../PL011UartClockLib/PL011UartClockLib.inf | 37 ++++++++++++++++++++++ Please add a reference to the new library in the [Components] section of ArmPlatformPkg.dsc as well, so we can build it standalone. > 4 files changed, 99 insertions(+) > create mode 100644 ArmPlatformPkg/Include/Library/PL011UartClockLib.h > create mode 100644 ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c > create mode 100644 ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf > > diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec b/ArmPlatformPkg/ArmPlatformPkg.dec > index dff4598..5f67e74 100644 > --- a/ArmPlatformPkg/ArmPlatformPkg.dec > +++ b/ArmPlatformPkg/ArmPlatformPkg.dec > @@ -36,6 +36,7 @@ > LcdHwLib|Include/Library/LcdHwLib.h > LcdPlatformLib|Include/Library/LcdPlatformLib.h > NorFlashPlatformLib|Include/Library/NorFlashPlatformLib.h > + PL011UartClockLib|Include/Library/PL011UartClockLib.h > PL011UartLib|Include/Library/PL011UartLib.h > > [Guids.common] > diff --git a/ArmPlatformPkg/Include/Library/PL011UartClockLib.h b/ArmPlatformPkg/Include/Library/PL011UartClockLib.h > new file mode 100644 > index 0000000..93813a0 > --- /dev/null > +++ b/ArmPlatformPkg/Include/Library/PL011UartClockLib.h > @@ -0,0 +1,32 @@ > +/** @file > +* > +* Copyright 2018 NXP > +* > +* This program and the accompanying materials > +* are licensed and made available under the terms and conditions of the BSD License > +* which accompanies this distribution. The full text of the license may be found at > +* http://opensource.org/licenses/bsd-license.php > +* > +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > +* > +**/ > + > +#ifndef __PL011CLOCKLIB_H__ > +#define __PL011CLOCKLIB_H__ Nit: use __PL011UARTCLOCKLIB_H__ to match the filename. > + > + > +/** > + Return frequency of PL011. > + Mention the baud clock? > + By default this function returns FixedPcdGet32 (PL011UartClkInHz) > + Drop this line please, it is not part of the prototype > + @return Return frequency of PL011 > + > +**/ > +UINT32 > +ArmPlatformGetPL011ClockFreq ( The ArmPlatform prefix is unnecessary here: please use PL011UartClockGetFreq() instead. > + VOID > + ); > + > +#endif > diff --git a/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c > new file mode 100644 > index 0000000..b56af14 > --- /dev/null > +++ b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c > @@ -0,0 +1,29 @@ > +/** @file > +* > +* Copyright 2018 NXP > +* > +* This program and the accompanying materials > +* are licensed and made available under the terms and conditions of the BSD License > +* which accompanies this distribution. The full text of the license may be found at > +* http://opensource.org/licenses/bsd-license.php > +* > +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > +* > +**/ > + > +#include <Library/PL011UartClockLib.h> > + > +/** > + Return clock in for PL011 Uart IP. > +**/ > +UINT32 Please add EFIAPI even if it is defined to an empty string when using GCC/ARM. > +ArmPlatformGetPL011ClockFreq ( > + VOID > + ) > +{ > + // This function needs to be implemented on platforms which supports > + // dynamic clocking to avoid re-building of UEFI firmware for PL011 > + // clock change Please drop this comment, it does not belong here. You can add something along these lines in the declaration of the library class if you want, but you can drop it altogether IMO. > + return FixedPcdGet32 (PL011UartClkInHz); > +} > diff --git a/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf > new file mode 100644 > index 0000000..5f6f699 > --- /dev/null > +++ b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf > @@ -0,0 +1,37 @@ > +#/* @file > +# Copyright 2018 NXP > +# > +# This program and the accompanying materials > +# are licensed and made available under the terms and conditions of the BSD License > +# which accompanies this distribution. The full text of the license may be found at > +# http://opensource.org/licenses/bsd-license.php > +# > +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > +# > +#*/ > + > +[Defines] > + INF_VERSION = 0x0001000A Please use 0x0001001A > + BASE_NAME = PL011UartClockLib EDK2 usually has a BaseXxxLib implementation and does not reuse the library class name for the base implementation, so I am fine with this. Leif? > + FILE_GUID = af8fef24-afbb-472a-b8b7-13101a79703c > + MODULE_TYPE = BASE > + VERSION_STRING = 1.0 > + LIBRARY_CLASS = PL011UartClockLib > + > +[Packages] > + MdePkg/MdePkg.dec > + MdeModulePkg/MdeModulePkg.dec Is this line needed? > + ArmPkg/ArmPkg.dec > + ArmPlatformPkg/ArmPlatformPkg.dec > + Sort alphabetically please. > +[LibraryClasses] > + ArmLib > + DebugLib > + > +[Sources.common] > + PL011UartClockLib.c > + > +[FixedPcd] > + gArmPlatformTokenSpaceGuid.PL011UartClkInHz > + > -- > 1.9.1 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] ArmPlatformPkg: PL011 Dynamic clock freq Support 2018-06-11 10:05 ` Ard Biesheuvel @ 2018-06-11 10:32 ` Udit Kumar 0 siblings, 0 replies; 7+ messages in thread From: Udit Kumar @ 2018-06-11 10:32 UTC (permalink / raw) To: Ard Biesheuvel; +Cc: Leif Lindholm, edk2-devel@lists.01.org Thanks for review Ard. > -----Original Message----- > From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org] > Sent: Monday, June 11, 2018 3:35 PM > To: Udit Kumar <udit.kumar@nxp.com> > Cc: Leif Lindholm <leif.lindholm@linaro.org>; edk2-devel@lists.01.org > Subject: Re: [PATCH 1/2] ArmPlatformPkg: PL011 Dynamic clock freq > Support > > Hello Udit, > > Apologies for not bringing this up the first time, but I have some additional > comments. The first time around, I only had a cursory look because at that > point I was still skeptical whether we needed this library in the first place. I hope, now you agree to have this lib 😊 > On 5 June 2018 at 19:59, Udit Kumar <udit.kumar@nxp.com> wrote: > > Some platform support dynamic clocking, Which is controlled by some > > jumper setting or hardware registers. > > Result of that PCD PL011UartClkInHz needs to be updated for frequency > > change. > > This patch implements support for dynamic frequency for > > PL011 uart. > > This patch implements default lib, which is using Pcd. > > Platform which needs dynamic clocking needs implement > > PL011UartClockLib > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Udit Kumar <udit.kumar@nxp.com> > > --- > > ArmPlatformPkg/ArmPlatformPkg.dec | 1 + > > ArmPlatformPkg/Include/Library/PL011UartClockLib.h | 32 > > +++++++++++++++++++ > .../Library/PL011UartClockLib/PL011UartClockLib.c | 29 > +++++++++++++++++ > > .../PL011UartClockLib/PL011UartClockLib.inf | 37 > ++++++++++++++++++++++ > > Please add a reference to the new library in the [Components] section of > ArmPlatformPkg.dsc as well, so we can build it standalone. Ok > > 4 files changed, 99 insertions(+) > > create mode 100644 > ArmPlatformPkg/Include/Library/PL011UartClockLib.h > > create mode 100644 > > ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c > > create mode 100644 > > ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf > > > > diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec > > b/ArmPlatformPkg/ArmPlatformPkg.dec > > index dff4598..5f67e74 100644 > > --- a/ArmPlatformPkg/ArmPlatformPkg.dec > > +++ b/ArmPlatformPkg/ArmPlatformPkg.dec > > @@ -36,6 +36,7 @@ > > LcdHwLib|Include/Library/LcdHwLib.h > > LcdPlatformLib|Include/Library/LcdPlatformLib.h > > NorFlashPlatformLib|Include/Library/NorFlashPlatformLib.h > > + PL011UartClockLib|Include/Library/PL011UartClockLib.h > > PL011UartLib|Include/Library/PL011UartLib.h > > > > [Guids.common] > > diff --git a/ArmPlatformPkg/Include/Library/PL011UartClockLib.h > > b/ArmPlatformPkg/Include/Library/PL011UartClockLib.h > > new file mode 100644 > > index 0000000..93813a0 > > --- /dev/null > > +++ b/ArmPlatformPkg/Include/Library/PL011UartClockLib.h > > @@ -0,0 +1,32 @@ > > +/** @file > > +* > > +* Copyright 2018 NXP > > +* > > +* This program and the accompanying materials > > +* are licensed and made available under the terms and conditions of > > +the BSD License > > +* which accompanies this distribution. The full text of the license > > +may be found at > > +* > > > +https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fo > pe > > +nsource.org%2Flicenses%2Fbsd- > license.php&data=02%7C01%7Cudit.kumar%40 > > > +nxp.com%7C2ac27eb60055478ac37d08d5cf82d550%7C686ea1d3bc2b4c > 6fa92cd99c > > > +5c301635%7C0%7C0%7C636643083195138179&sdata=C%2F2MhK2ZA6 > XPmC5c8byWlK3 > > +xAC6rFmLYofPKlj6M7%2FI%3D&reserved=0 > > +* > > +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS > IS" > > +BASIS, > > +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER > EXPRESS OR IMPLIED. > > +* > > +**/ > > + > > +#ifndef __PL011CLOCKLIB_H__ > > +#define __PL011CLOCKLIB_H__ > > Nit: use __PL011UARTCLOCKLIB_H__ to match the filename. My miss, thanks will do in v3 > > + > > + > > +/** > > + Return frequency of PL011. > > + > > Mention the baud clock? Sure > > + By default this function returns FixedPcdGet32 (PL011UartClkInHz) > > + > > Drop this line please, it is not part of the prototype Ok > > + @return Return frequency of PL011 > > + > > +**/ > > +UINT32 > > +ArmPlatformGetPL011ClockFreq ( > > The ArmPlatform prefix is unnecessary here: please use > PL011UartClockGetFreq() instead. Ok > > + VOID > > + ); > > + > > +#endif > > diff --git > > a/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c > > b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c > > new file mode 100644 > > index 0000000..b56af14 > > --- /dev/null > > +++ b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.c > > @@ -0,0 +1,29 @@ > > +/** @file > > +* > > +* Copyright 2018 NXP > > +* > > +* This program and the accompanying materials > > +* are licensed and made available under the terms and conditions of > > +the BSD License > > +* which accompanies this distribution. The full text of the license > > +may be found at > > +* > > > +https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fo > pe > > +nsource.org%2Flicenses%2Fbsd- > license.php&data=02%7C01%7Cudit.kumar%40 > > > +nxp.com%7C2ac27eb60055478ac37d08d5cf82d550%7C686ea1d3bc2b4c > 6fa92cd99c > > > +5c301635%7C0%7C0%7C636643083195138179&sdata=C%2F2MhK2ZA6 > XPmC5c8byWlK3 > > +xAC6rFmLYofPKlj6M7%2FI%3D&reserved=0 > > +* > > +* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS > IS" > > +BASIS, > > +* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER > EXPRESS OR IMPLIED. > > +* > > +**/ > > + > > +#include <Library/PL011UartClockLib.h> > > + > > +/** > > + Return clock in for PL011 Uart IP. > > +**/ > > +UINT32 > > Please add EFIAPI even if it is defined to an empty string when using > GCC/ARM. Ok > > +ArmPlatformGetPL011ClockFreq ( > > + VOID > > + ) > > +{ > > + // This function needs to be implemented on platforms which > > +supports > > + // dynamic clocking to avoid re-building of UEFI firmware for PL011 > > + // clock change > > Please drop this comment, it does not belong here. You can add something > along these lines in the declaration of the library class if you want, but you > can drop it altogether IMO. Ok, I will move to lib class declaration > > + return FixedPcdGet32 (PL011UartClkInHz); } > > diff --git > > a/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf > > b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf > > new file mode 100644 > > index 0000000..5f6f699 > > --- /dev/null > > +++ b/ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf > > @@ -0,0 +1,37 @@ > > +#/* @file > > +# Copyright 2018 NXP > > +# > > +# This program and the accompanying materials # are licensed and > > +made available under the terms and conditions of the BSD License # > > +which accompanies this distribution. The full text of the license > > +may be found at # > > > +https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fo > pe > > +nsource.org%2Flicenses%2Fbsd- > license.php&data=02%7C01%7Cudit.kumar%40 > > > +nxp.com%7C2ac27eb60055478ac37d08d5cf82d550%7C686ea1d3bc2b4c > 6fa92cd99c > > > +5c301635%7C0%7C0%7C636643083195138179&sdata=C%2F2MhK2ZA6 > XPmC5c8byWlK3 > > +xAC6rFmLYofPKlj6M7%2FI%3D&reserved=0 > > +# > > +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS > IS" > > +BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, > EITHER EXPRESS OR IMPLIED. > > +# > > +#*/ > > + > > +[Defines] > > + INF_VERSION = 0x0001000A > > Please use 0x0001001A > Ok > > + BASE_NAME = PL011UartClockLib > > EDK2 usually has a BaseXxxLib implementation and does not reuse the > library class name for the base implementation, so I am fine with this. Leif? > > > > + FILE_GUID = af8fef24-afbb-472a-b8b7-13101a79703c > > + MODULE_TYPE = BASE > > + VERSION_STRING = 1.0 > > + LIBRARY_CLASS = PL011UartClockLib > > + > > +[Packages] > > + MdePkg/MdePkg.dec > > + MdeModulePkg/MdeModulePkg.dec > > Is this line needed? May be not , copy-paste mistake > > > + ArmPkg/ArmPkg.dec > > + ArmPlatformPkg/ArmPlatformPkg.dec > > + > > Sort alphabetically please. Ok > > +[LibraryClasses] > > + ArmLib > > + DebugLib > > + > > +[Sources.common] > > + PL011UartClockLib.c > > + > > +[FixedPcd] > > + gArmPlatformTokenSpaceGuid.PL011UartClkInHz > > + > > -- > > 1.9.1 > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] ArmPlatformPkg: Include PL011UartClock Lib 2018-06-05 17:59 [PATCH v2 0/2] ArmPlatformPkg: PL011 Dynamic clock freq Support Udit Kumar 2018-06-05 17:59 ` [PATCH 1/2] " Udit Kumar @ 2018-06-05 17:59 ` Udit Kumar 2018-06-11 10:07 ` Ard Biesheuvel 1 sibling, 1 reply; 7+ messages in thread From: Udit Kumar @ 2018-06-05 17:59 UTC (permalink / raw) To: ard.biesheuvel, leif.lindholm, edk2-devel This patch includes, PL011UartClock lib. In case of no implemenation of this Clock Lib, Pcd value will be used for PL011 frequency. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Udit Kumar <udit.kumar@nxp.com> --- ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c | 5 +++-- ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c index 6aa8063..c73e8db 100644 --- a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c +++ b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c @@ -19,6 +19,7 @@ #include <Library/IoLib.h> #include <Library/PcdLib.h> +#include <Library/PL011UartClockLib.h> #include <Library/PL011UartLib.h> #include <Library/SerialPortLib.h> @@ -48,7 +49,7 @@ SerialPortInitialize ( return PL011UartInitializePort ( (UINTN)FixedPcdGet64 (PcdSerialRegisterBase), - FixedPcdGet32 (PL011UartClkInHz), + ArmPlatformGetPL011ClockFreq(), &BaudRate, &ReceiveFifoDepth, &Parity, @@ -156,7 +157,7 @@ SerialPortSetAttributes ( { return PL011UartInitializePort ( (UINTN)FixedPcdGet64 (PcdSerialRegisterBase), - FixedPcdGet32 (PL011UartClkInHz), + ArmPlatformGetPL011ClockFreq(), BaudRate, ReceiveFifoDepth, Parity, diff --git a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf index 3683e06..5ce5b2f 100644 --- a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf +++ b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf @@ -26,6 +26,7 @@ PL011SerialPortLib.c [LibraryClasses] + PL011UartClockLib PL011UartLib PcdLib -- 1.9.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ArmPlatformPkg: Include PL011UartClock Lib 2018-06-05 17:59 ` [PATCH 2/2] ArmPlatformPkg: Include PL011UartClock Lib Udit Kumar @ 2018-06-11 10:07 ` Ard Biesheuvel 2018-06-11 10:24 ` Udit Kumar 0 siblings, 1 reply; 7+ messages in thread From: Ard Biesheuvel @ 2018-06-11 10:07 UTC (permalink / raw) To: Udit Kumar; +Cc: Leif Lindholm, edk2-devel@lists.01.org On 5 June 2018 at 19:59, Udit Kumar <udit.kumar@nxp.com> wrote: > This patch includes, PL011UartClock lib. > > In case of no implemenation of this Clock Lib, > Pcd value will be used for PL011 frequency. > Please improve the commit log. You are modifying the code to obtain the PL011 baud clock frequency from a library instead of a PCD > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Udit Kumar <udit.kumar@nxp.com> > --- > ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c | 5 +++-- > ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf | 1 + > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c > index 6aa8063..c73e8db 100644 > --- a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c > +++ b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c > @@ -19,6 +19,7 @@ > > #include <Library/IoLib.h> > #include <Library/PcdLib.h> > +#include <Library/PL011UartClockLib.h> > #include <Library/PL011UartLib.h> > #include <Library/SerialPortLib.h> > > @@ -48,7 +49,7 @@ SerialPortInitialize ( > > return PL011UartInitializePort ( > (UINTN)FixedPcdGet64 (PcdSerialRegisterBase), > - FixedPcdGet32 (PL011UartClkInHz), > + ArmPlatformGetPL011ClockFreq(), > &BaudRate, > &ReceiveFifoDepth, > &Parity, > @@ -156,7 +157,7 @@ SerialPortSetAttributes ( > { > return PL011UartInitializePort ( > (UINTN)FixedPcdGet64 (PcdSerialRegisterBase), > - FixedPcdGet32 (PL011UartClkInHz), > + ArmPlatformGetPL011ClockFreq(), > BaudRate, > ReceiveFifoDepth, > Parity, > diff --git a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf > index 3683e06..5ce5b2f 100644 > --- a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf > +++ b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf > @@ -26,6 +26,7 @@ > PL011SerialPortLib.c > > [LibraryClasses] > + PL011UartClockLib > PL011UartLib > PcdLib > You need to add a library resolution to ArmPlatformPkg/ArmPlatformPkg.dsc for this library or you will break the build. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ArmPlatformPkg: Include PL011UartClock Lib 2018-06-11 10:07 ` Ard Biesheuvel @ 2018-06-11 10:24 ` Udit Kumar 0 siblings, 0 replies; 7+ messages in thread From: Udit Kumar @ 2018-06-11 10:24 UTC (permalink / raw) To: Ard Biesheuvel; +Cc: Leif Lindholm, edk2-devel@lists.01.org Thanks Ard > -----Original Message----- > From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org] > Sent: Monday, June 11, 2018 3:37 PM > To: Udit Kumar <udit.kumar@nxp.com> > Cc: Leif Lindholm <leif.lindholm@linaro.org>; edk2-devel@lists.01.org > Subject: Re: [PATCH 2/2] ArmPlatformPkg: Include PL011UartClock Lib > > On 5 June 2018 at 19:59, Udit Kumar <udit.kumar@nxp.com> wrote: > > This patch includes, PL011UartClock lib. > > > > In case of no implemenation of this Clock Lib, Pcd value will be used > > for PL011 frequency. > > > > Please improve the commit log. You are modifying the code to obtain the > PL011 baud clock frequency from a library instead of a PCD Ok > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Udit Kumar <udit.kumar@nxp.com> > > --- > > ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c | 5 > +++-- > > ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf | 1 > > + > > 2 files changed, 4 insertions(+), 2 deletions(-) > > > > diff --git > > a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c > > b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c > > index 6aa8063..c73e8db 100644 > > --- a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c > > +++ b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c > > @@ -19,6 +19,7 @@ > > > > #include <Library/IoLib.h> > > #include <Library/PcdLib.h> > > +#include <Library/PL011UartClockLib.h> > > #include <Library/PL011UartLib.h> > > #include <Library/SerialPortLib.h> > > > > @@ -48,7 +49,7 @@ SerialPortInitialize ( > > > > return PL011UartInitializePort ( > > (UINTN)FixedPcdGet64 (PcdSerialRegisterBase), > > - FixedPcdGet32 (PL011UartClkInHz), > > + ArmPlatformGetPL011ClockFreq(), > > &BaudRate, > > &ReceiveFifoDepth, > > &Parity, > > @@ -156,7 +157,7 @@ SerialPortSetAttributes ( { > > return PL011UartInitializePort ( > > (UINTN)FixedPcdGet64 (PcdSerialRegisterBase), > > - FixedPcdGet32 (PL011UartClkInHz), > > + ArmPlatformGetPL011ClockFreq(), > > BaudRate, > > ReceiveFifoDepth, > > Parity, > > diff --git > > a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf > > b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf > > index 3683e06..5ce5b2f 100644 > > --- a/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf > > +++ b/ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf > > @@ -26,6 +26,7 @@ > > PL011SerialPortLib.c > > > > [LibraryClasses] > > + PL011UartClockLib > > PL011UartLib > > PcdLib > > > > You need to add a library resolution to > ArmPlatformPkg/ArmPlatformPkg.dsc for this library or you will break the > build. I will do this, FYI, With update in edk2-platform, my compile was ok for Juno and NXP boards ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-06-11 10:32 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-06-05 17:59 [PATCH v2 0/2] ArmPlatformPkg: PL011 Dynamic clock freq Support Udit Kumar 2018-06-05 17:59 ` [PATCH 1/2] " Udit Kumar 2018-06-11 10:05 ` Ard Biesheuvel 2018-06-11 10:32 ` Udit Kumar 2018-06-05 17:59 ` [PATCH 2/2] ArmPlatformPkg: Include PL011UartClock Lib Udit Kumar 2018-06-11 10:07 ` Ard Biesheuvel 2018-06-11 10:24 ` Udit Kumar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox