[edk2-devel] [edk2-platforms][PATCH V3 4/5] Platform/Sgi: Initialize additional UART controllers
Vivek Kumar Gautam
vivek.gautam at arm.com
Thu Apr 27 05:28:29 UTC 2023
Hi Sami,
On 4/26/23 21:47, Sami Mujawar wrote:
> Hi Vivek,
>
> Thank you for this patch.
>
> I have some minor feedback that I will address before merging.
>
> Reviewed-by: Sami Mujawar <sami.mujawar at arm.com>
Thank you for the review of this patch and other patches in the series.
Please find my comments inline below.
>
> Regards,
>
> Sami Mujawar
>
> On 24/03/2023 11:03 am, Vivek Gautam wrote:
>> From: Shriram K <shriram.k at arm.com>
>>
>> The IO virtualization block on reference design platforms allow
>> connecting SoC expansion devices such as PL011 UART. On platforms
>> that support this, initialize the UART controller connected to the
>> IO virtualization block.
>>
>> Signed-off-by: Shriram K <shriram.k at arm.com>
>> Signed-off-by: Vivek Gautam <vivek.gautam at arm.com>
>> ---
>> Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf | 9 ++-
>> Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf | 6 +-
>> Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c | 64
>> +++++++++++++++++++-
>> Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c | 44
>> +++++++++++++-
>> 4 files changed, 116 insertions(+), 7 deletions(-)
>>
>> diff --git a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf
>> b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf
>> index 9d89314a594e..3cd7e2329c22 100644
>> --- a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf
>> +++ b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.inf
>> @@ -1,5 +1,5 @@
>> #
>> -# Copyright (c) 2018, ARM Limited. All rights reserved.
>> +# Copyright (c) 2018 - 2023, ARM Limited. All rights reserved.
>> #
>> # SPDX-License-Identifier: BSD-2-Clause-Patent
>> #
>> @@ -17,6 +17,7 @@
>> VirtioDevices.c
>> [Packages]
>> + ArmPlatformPkg/ArmPlatformPkg.dec
>> EmbeddedPkg/EmbeddedPkg.dec
>> MdePkg/MdePkg.dec
>> OvmfPkg/OvmfPkg.dec
>> @@ -37,10 +38,16 @@
>> gArmSgiTokenSpaceGuid.PcdVirtioNetSupported
>> [FixedPcd]
>> + gArmSgiTokenSpaceGuid.PcdChipCount
>> + gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlk0Base
>> + gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlkUartEnable
>> + gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip
>> gArmSgiTokenSpaceGuid.PcdVirtioBlkBaseAddress
>> gArmSgiTokenSpaceGuid.PcdVirtioBlkSize
>> gArmSgiTokenSpaceGuid.PcdVirtioNetBaseAddress
>> gArmSgiTokenSpaceGuid.PcdVirtioNetSize
>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgUartClkInHz
>> +
>> [Depex]
>> TRUE
>> diff --git a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf
>> b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf
>> index 1ca7679b4191..020bde0d1f56 100644
>> --- a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf
>> +++ b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf
>> @@ -1,5 +1,5 @@
>> #
>> -# Copyright (c) 2018 - 2022, Arm Limited. All rights reserved.
>> +# Copyright (c) 2018 - 2023, Arm Limited. All rights reserved.
>> #
>> # SPDX-License-Identifier: BSD-2-Clause-Patent
>> #
>> @@ -41,10 +41,12 @@
>> gArmPlatformTokenSpaceGuid.PcdCoreCount
>> gArmPlatformTokenSpaceGuid.PcdArmHdLcdBase
>> - gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip
>> gArmSgiTokenSpaceGuid.PcdDramBlock2Base
>> gArmSgiTokenSpaceGuid.PcdDramBlock2Size
>> gArmSgiTokenSpaceGuid.PcdGicSize
>> + gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlk0Base
>> + gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlkUartEnable
>> + gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip
>> gArmTokenSpaceGuid.PcdSystemMemoryBase
>> gArmTokenSpaceGuid.PcdSystemMemorySize
>> diff --git a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c
>> b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c
>> index 2f72e7152ff3..b3a998bc1585 100644
>> --- a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c
>> +++ b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/PlatformDxe.c
>> @@ -1,6 +1,6 @@
>> /** @file
>> *
>> -* Copyright (c) 2018, ARM Limited. All rights reserved.
>> +* Copyright (c) 2018 - 2023, ARM Limited. All rights reserved.
>> *
>> * SPDX-License-Identifier: BSD-2-Clause-Patent
>> *
>> @@ -9,6 +9,9 @@
>> #include <Library/AcpiLib.h>
>> #include <Library/DebugLib.h>
>> #include <Library/HobLib.h>
>> +#include <Library/PL011UartLib.h>
>> +
>> +#include <IoVirtSoCExp.h>
>> #include <SgiPlatform.h>
>> VOID
>> @@ -16,6 +19,64 @@ InitVirtioDevices (
>> VOID
>> );
>> +/**
>> + Initialize UART controllers connected to IO Virtualization block.
>> +
>> + Use PL011UartLib Library to initialize UART controllers that are
>> present in
>> + the SoC expansion block. This SoC expansion block is connected to
>> the IO
>> + virtualization block on Arm infrastructure reference design (RD)
>> platforms.
>> +
>> + @retval None
>> +**/
>> +STATIC
>> +VOID
>> +InitIoVirtSocExpBlkUartControllers (VOID)
>> +{
>> + EFI_STATUS Status;
>> + EFI_PARITY_TYPE Parity;
>> + EFI_STOP_BITS_TYPE StopBits;
>> + UINT64 BaudRate;
>> + UINT32 ReceiveFifoDepth;
>> + UINT8 DataBits;
>> + UINT8 UartIdx;
>> + UINT32 ChipIdx;
>> + UINT64 UartAddr;
>> +
>> + if (FixedPcdGet32 (PcdIoVirtSocExpBlkUartEnable) == 0)
>> + return;
>
> [SAMI] edk2 coding standard requires to use opening and closing curly
> brackets even when the if condition has a single enclosing statement.
>
> Also the function parameters must be on separate lines. However, I will
> address that locally before merging.
I will keep these things in mind for future. Thanks for taking care of
these in this patch.
Best regards
Vivek
>
> [/SAMI]
>
[snip]
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103692): https://edk2.groups.io/g/devel/message/103692
Mute This Topic: https://groups.io/mt/97821142/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list