* [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage @ 2022-07-04 16:59 Rohit Mathew 2022-07-04 16:59 ` [PATCH 1/2] Platform/Sgi: Update ACPI tables to use console UART Rohit Mathew ` (4 more replies) 0 siblings, 5 replies; 16+ messages in thread From: Rohit Mathew @ 2022-07-04 16:59 UTC (permalink / raw) To: devel; +Cc: Ard Biesheuvel, Sami Mujawar, Thomas Abraham Patch 433b5b1b0f7f ("Platform/Sgi: Route logs to different sets of consoles") setup the routing of console messages to a different set of UART ports. Following up with this change, this patch series updates the ACPI tables to route the console messages to the console UART and adds a device entry for the debug UART. Link to github branch for the patches in this series - https://github.com/rohit-arm/edk2-platforms/tree/serial_port_acpi Rohit Mathew (2): Platform/Sgi: Update ACPI tables to use console UART Platform/Sgi: Add serial debug controller to SSDT .../SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 3 +++ .../SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 3 +++ .../SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 3 +++ .../ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 3 +++ .../SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 3 +++ .../ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 3 +++ .../ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 3 +++ .../ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 3 +++ Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc | 2 +- Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 17 ++++++++++++++++- 10 files changed, 41 insertions(+), 2 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/2] Platform/Sgi: Update ACPI tables to use console UART 2022-07-04 16:59 [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Rohit Mathew @ 2022-07-04 16:59 ` Rohit Mathew 2022-07-21 12:40 ` Sami Mujawar 2022-07-04 16:59 ` [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Rohit Mathew ` (3 subsequent siblings) 4 siblings, 1 reply; 16+ messages in thread From: Rohit Mathew @ 2022-07-04 16:59 UTC (permalink / raw) To: devel; +Cc: Ard Biesheuvel, Sami Mujawar, Thomas Abraham Patch 433b5b1b0f7f ("Platform/Sgi: Route logs to different sets of consoles") assigns different address for the console UART and the debug UART. Correspondingly, update the SPCR and SSDT ACPI tables to use the address of the console UART port instead of the debug UART port. Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> --- Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 2 ++ Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 2 ++ Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 2 ++ Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 2 ++ Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 2 ++ Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 2 ++ Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 2 ++ Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 2 ++ Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc | 2 +- Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 2 +- 10 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf index 8c34c2fa73e4..d2935f1e73e1 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf @@ -32,6 +32,7 @@ [Packages] ArmPkg/ArmPkg.dec ArmPlatformPkg/ArmPlatformPkg.dec EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Platform/ARM/SgiPkg/SgiPlatform.dec @@ -69,4 +70,5 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf index ce89aa93ea7b..73f47ece7718 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf @@ -32,6 +32,7 @@ [Packages] ArmPkg/ArmPkg.dec ArmPlatformPkg/ArmPlatformPkg.dec EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Platform/ARM/SgiPkg/SgiPlatform.dec @@ -70,4 +71,5 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf index c96d0e40d2cd..da14120bde69 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf @@ -34,6 +34,7 @@ [Packages] ArmPkg/ArmPkg.dec ArmPlatformPkg/ArmPlatformPkg.dec EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Platform/ARM/SgiPkg/SgiPlatform.dec @@ -80,4 +81,5 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf index 25be2e276e85..90976250445e 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf @@ -32,6 +32,7 @@ [Packages] ArmPkg/ArmPkg.dec ArmPlatformPkg/ArmPlatformPkg.dec EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Platform/ARM/SgiPkg/SgiPlatform.dec @@ -71,4 +72,5 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf index 4b36c3e5ceb2..95fb446c105d 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf @@ -32,6 +32,7 @@ [Packages] ArmPkg/ArmPkg.dec ArmPlatformPkg/ArmPlatformPkg.dec EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Platform/ARM/SgiPkg/SgiPlatform.dec @@ -72,4 +73,5 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf index 97a87462932b..3540575dd641 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf @@ -32,6 +32,7 @@ [Packages] ArmPkg/ArmPkg.dec ArmPlatformPkg/ArmPlatformPkg.dec EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Platform/ARM/SgiPkg/SgiPlatform.dec @@ -71,4 +72,5 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf index 61a2f3a2452b..c6bd69b4a538 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf @@ -34,6 +34,7 @@ [Packages] ArmPkg/ArmPkg.dec ArmPlatformPkg/ArmPlatformPkg.dec EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Platform/ARM/SgiPkg/SgiPlatform.dec @@ -81,4 +82,5 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf index a1bd71fde761..cb3f3fcdb9b6 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf @@ -32,6 +32,7 @@ [Packages] ArmPkg/ArmPkg.dec ArmPlatformPkg/ArmPlatformPkg.dec EmbeddedPkg/EmbeddedPkg.dec + MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Platform/ARM/SgiPkg/SgiPlatform.dec @@ -70,4 +71,5 @@ [FixedPcd] gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress diff --git a/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc b/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc index 6467fcdf4fd0..6307777bd148 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc +++ b/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc @@ -34,7 +34,7 @@ STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = { EFI_ACPI_RESERVED_BYTE }, // EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE BaseAddress; - ARM_GAS32 (FixedPcdGet64 (PcdSerialDbgRegisterBase)), + ARM_GAS32 (FixedPcdGet64 (PcdSerialRegisterBase)), // UINT8 InterruptType; EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC, // UINT8 Irq; diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl index 6b36da23cf0b..fd20c67e1225 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl @@ -22,7 +22,7 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, "ARMLTD", "ARMSGI", Name (_CRS, ResourceTemplate () { Memory32Fixed ( ReadWrite, - FixedPcdGet64 (PcdSerialDbgRegisterBase), + FixedPcdGet64 (PcdSerialRegisterBase), 0x1000 ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { FixedPcdGet32 (PL011UartInterrupt) } -- 2.17.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] Platform/Sgi: Update ACPI tables to use console UART 2022-07-04 16:59 ` [PATCH 1/2] Platform/Sgi: Update ACPI tables to use console UART Rohit Mathew @ 2022-07-21 12:40 ` Sami Mujawar 0 siblings, 0 replies; 16+ messages in thread From: Sami Mujawar @ 2022-07-21 12:40 UTC (permalink / raw) To: Rohit Mathew, devel; +Cc: Ard Biesheuvel, Thomas Abraham, nd Hi Rohit, These changes are fine, just too repetitive. Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Regards, Sami Mujawar On 04/07/2022 05:59 pm, Rohit Mathew wrote: > Patch 433b5b1b0f7f ("Platform/Sgi: Route logs to different sets of > consoles") assigns different address for the console UART and the debug > UART. Correspondingly, update the SPCR and SSDT ACPI tables to use the > address of the console UART port instead of the debug UART port. > > Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> > --- > Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 2 ++ > Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 2 ++ > Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 2 ++ > Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 2 ++ > Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 2 ++ > Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 2 ++ > Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 2 ++ > Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 2 ++ > Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc | 2 +- > Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 2 +- > 10 files changed, 18 insertions(+), 2 deletions(-) > > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > index 8c34c2fa73e4..d2935f1e73e1 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > @@ -32,6 +32,7 @@ [Packages] > ArmPkg/ArmPkg.dec > ArmPlatformPkg/ArmPlatformPkg.dec > EmbeddedPkg/EmbeddedPkg.dec > + MdeModulePkg/MdeModulePkg.dec > MdePkg/MdePkg.dec > Platform/ARM/SgiPkg/SgiPlatform.dec > > @@ -69,4 +70,5 @@ [FixedPcd] > gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv > gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > index ce89aa93ea7b..73f47ece7718 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > @@ -32,6 +32,7 @@ [Packages] > ArmPkg/ArmPkg.dec > ArmPlatformPkg/ArmPlatformPkg.dec > EmbeddedPkg/EmbeddedPkg.dec > + MdeModulePkg/MdeModulePkg.dec > MdePkg/MdePkg.dec > Platform/ARM/SgiPkg/SgiPlatform.dec > > @@ -70,4 +71,5 @@ [FixedPcd] > gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv > gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > index c96d0e40d2cd..da14120bde69 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > @@ -34,6 +34,7 @@ [Packages] > ArmPkg/ArmPkg.dec > ArmPlatformPkg/ArmPlatformPkg.dec > EmbeddedPkg/EmbeddedPkg.dec > + MdeModulePkg/MdeModulePkg.dec > MdePkg/MdePkg.dec > Platform/ARM/SgiPkg/SgiPlatform.dec > > @@ -80,4 +81,5 @@ [FixedPcd] > gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv > gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > index 25be2e276e85..90976250445e 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > @@ -32,6 +32,7 @@ [Packages] > ArmPkg/ArmPkg.dec > ArmPlatformPkg/ArmPlatformPkg.dec > EmbeddedPkg/EmbeddedPkg.dec > + MdeModulePkg/MdeModulePkg.dec > MdePkg/MdePkg.dec > Platform/ARM/SgiPkg/SgiPlatform.dec > > @@ -71,4 +72,5 @@ [FixedPcd] > gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv > gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > index 4b36c3e5ceb2..95fb446c105d 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > @@ -32,6 +32,7 @@ [Packages] > ArmPkg/ArmPkg.dec > ArmPlatformPkg/ArmPlatformPkg.dec > EmbeddedPkg/EmbeddedPkg.dec > + MdeModulePkg/MdeModulePkg.dec > MdePkg/MdePkg.dec > Platform/ARM/SgiPkg/SgiPlatform.dec > > @@ -72,4 +73,5 @@ [FixedPcd] > gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv > gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > index 97a87462932b..3540575dd641 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > @@ -32,6 +32,7 @@ [Packages] > ArmPkg/ArmPkg.dec > ArmPlatformPkg/ArmPlatformPkg.dec > EmbeddedPkg/EmbeddedPkg.dec > + MdeModulePkg/MdeModulePkg.dec > MdePkg/MdePkg.dec > Platform/ARM/SgiPkg/SgiPlatform.dec > > @@ -71,4 +72,5 @@ [FixedPcd] > gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv > gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > index 61a2f3a2452b..c6bd69b4a538 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > @@ -34,6 +34,7 @@ [Packages] > ArmPkg/ArmPkg.dec > ArmPlatformPkg/ArmPlatformPkg.dec > EmbeddedPkg/EmbeddedPkg.dec > + MdeModulePkg/MdeModulePkg.dec > MdePkg/MdePkg.dec > Platform/ARM/SgiPkg/SgiPlatform.dec > > @@ -81,4 +82,5 @@ [FixedPcd] > gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv > gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > index a1bd71fde761..cb3f3fcdb9b6 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > @@ -32,6 +32,7 @@ [Packages] > ArmPkg/ArmPkg.dec > ArmPlatformPkg/ArmPlatformPkg.dec > EmbeddedPkg/EmbeddedPkg.dec > + MdeModulePkg/MdeModulePkg.dec > MdePkg/MdePkg.dec > Platform/ARM/SgiPkg/SgiPlatform.dec > > @@ -70,4 +71,5 @@ [FixedPcd] > gArmSgiTokenSpaceGuid.PcdWdogWS0Gsiv > gArmSgiTokenSpaceGuid.PcdWdogWS1Gsiv > > + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase > gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress > diff --git a/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc b/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc > index 6467fcdf4fd0..6307777bd148 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc > +++ b/Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc > @@ -34,7 +34,7 @@ STATIC EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE Spcr = { > EFI_ACPI_RESERVED_BYTE > }, > // EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE BaseAddress; > - ARM_GAS32 (FixedPcdGet64 (PcdSerialDbgRegisterBase)), > + ARM_GAS32 (FixedPcdGet64 (PcdSerialRegisterBase)), > // UINT8 InterruptType; > EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERRUPT_TYPE_GIC, > // UINT8 Irq; > diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > index 6b36da23cf0b..fd20c67e1225 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > @@ -22,7 +22,7 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, "ARMLTD", "ARMSGI", > Name (_CRS, ResourceTemplate () { > Memory32Fixed ( > ReadWrite, > - FixedPcdGet64 (PcdSerialDbgRegisterBase), > + FixedPcdGet64 (PcdSerialRegisterBase), > 0x1000 > ) > Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { FixedPcdGet32 (PL011UartInterrupt) } ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-07-04 16:59 [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Rohit Mathew 2022-07-04 16:59 ` [PATCH 1/2] Platform/Sgi: Update ACPI tables to use console UART Rohit Mathew @ 2022-07-04 16:59 ` Rohit Mathew 2022-07-21 12:41 ` Sami Mujawar 2022-07-04 21:38 ` [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Thomas Abraham ` (2 subsequent siblings) 4 siblings, 1 reply; 16+ messages in thread From: Rohit Mathew @ 2022-07-04 16:59 UTC (permalink / raw) To: devel; +Cc: Ard Biesheuvel, Sami Mujawar, Thomas Abraham Add a new device entry in the SSDT ACPI table to describe the serial port used as the debug port. On the Neoverse reference design platforms, the UART0 port of the SoC is used as the debug port. Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> --- Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 15 +++++++++++++++ 9 files changed, 23 insertions(+) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf index d2935f1e73e1..d46ae0274d90 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf index 73f47ece7718..4bf681d3bc2e 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf index da14120bde69..89f532217ceb 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf @@ -41,6 +41,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf index 90976250445e..66d5422df36b 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf index 95fb446c105d..742734ab7348 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf index 3540575dd641..cc41dda1a135 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf index c6bd69b4a538..ecb42bf3cc33 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf index cb3f3fcdb9b6..379b5c9e6122 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl index fd20c67e1225..ab8578072836 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl @@ -29,6 +29,21 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, "ARMLTD", "ARMSGI", }) } + Device (COM1) { + Name (_HID, "ARMH0011") + Name (_CID, "ARMH0011") + Name (_UID, One) + Name (_STA, 0xF) + Name (_CRS, ResourceTemplate () { + Memory32Fixed ( + ReadWrite, + FixedPcdGet64 (PcdSerialDbgRegisterBase), + 0x1000 + ) + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { FixedPcdGet32 (PcdSerialDbgInterrupt) } + }) + } + // VIRTIO DISK Device (VR00) { Name (_HID, "LNRO0005") -- 2.17.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-07-04 16:59 ` [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Rohit Mathew @ 2022-07-21 12:41 ` Sami Mujawar 2022-07-22 12:46 ` [edk2-devel] " Rohit Mathew 0 siblings, 1 reply; 16+ messages in thread From: Sami Mujawar @ 2022-07-21 12:41 UTC (permalink / raw) To: Rohit Mathew, devel; +Cc: Ard Biesheuvel, Thomas Abraham, nd Hi Rohit, Have you considered moving to use Dynamic Tables Framework? There is just too much repetition in this series which can be easily avoided. It will also make the code more maintainable. Apart from this I have a comment marked inline as [SAMI]. Regards, Sami Mujawar On 04/07/2022 05:59 pm, Rohit Mathew wrote: > Add a new device entry in the SSDT ACPI table to describe the serial > port used as the debug port. On the Neoverse reference design platforms, > the UART0 port of the SoC is used as the debug port. > > Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> > --- > Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 15 +++++++++++++++ > 9 files changed, 23 insertions(+) > > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > index d2935f1e73e1..d46ae0274d90 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > @@ -39,6 +39,7 @@ [Packages] > [FixedPcd] > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > index 73f47ece7718..4bf681d3bc2e 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > @@ -39,6 +39,7 @@ [Packages] > [FixedPcd] > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > index da14120bde69..89f532217ceb 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > @@ -41,6 +41,7 @@ [Packages] > [FixedPcd] > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > index 90976250445e..66d5422df36b 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > @@ -37,6 +37,7 @@ [Packages] > Platform/ARM/SgiPkg/SgiPlatform.dec > > [FixedPcd] > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > gArmPlatformTokenSpaceGuid.PcdCoreCount > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > index 95fb446c105d..742734ab7348 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > @@ -37,6 +37,7 @@ [Packages] > Platform/ARM/SgiPkg/SgiPlatform.dec > > [FixedPcd] > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > index 3540575dd641..cc41dda1a135 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > @@ -37,6 +37,7 @@ [Packages] > Platform/ARM/SgiPkg/SgiPlatform.dec > > [FixedPcd] > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > gArmPlatformTokenSpaceGuid.PcdCoreCount > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > index c6bd69b4a538..ecb42bf3cc33 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > @@ -39,6 +39,7 @@ [Packages] > Platform/ARM/SgiPkg/SgiPlatform.dec > > [FixedPcd] > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > gArmPlatformTokenSpaceGuid.PcdCoreCount > diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > index cb3f3fcdb9b6..379b5c9e6122 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > @@ -39,6 +39,7 @@ [Packages] > [FixedPcd] > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > > diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > index fd20c67e1225..ab8578072836 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > @@ -29,6 +29,21 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, "ARMLTD", "ARMSGI", > }) > } > > + Device (COM1) { > + Name (_HID, "ARMH0011") > + Name (_CID, "ARMH0011") [SAMI] Any reason for not using ARMHB000 (see Section 2.3 of the ACPI for Arm Components 1.1 specification)? > + Name (_UID, One) > + Name (_STA, 0xF) > + Name (_CRS, ResourceTemplate () { > + Memory32Fixed ( > + ReadWrite, > + FixedPcdGet64 (PcdSerialDbgRegisterBase), > + 0x1000 > + ) > + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { FixedPcdGet32 (PcdSerialDbgInterrupt) } > + }) > + } > + > // VIRTIO DISK > Device (VR00) { > Name (_HID, "LNRO0005") ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-07-21 12:41 ` Sami Mujawar @ 2022-07-22 12:46 ` Rohit Mathew 2022-07-25 10:41 ` Sami Mujawar 0 siblings, 1 reply; 16+ messages in thread From: Rohit Mathew @ 2022-07-22 12:46 UTC (permalink / raw) To: Sami Mujawar, devel [-- Attachment #1: Type: text/plain, Size: 7407 bytes --] Hi Sami, Thank you for the review. Regarding the use of Dynamic Tables Framework, there are no short term plans to migrate to it. Please find my response for your comment inline - On Thu, Jul 21, 2022 at 01:42 PM, Sami Mujawar wrote: > > Hi Rohit, > > Have you considered moving to use Dynamic Tables Framework? There is > just too much repetition in this series which can be easily avoided. It > will also make the code more maintainable. > > Apart from this I have a comment marked inline as [SAMI]. > > Regards, > > Sami Mujawar > > On 04/07/2022 05:59 pm, Rohit Mathew wrote: > >> Add a new device entry in the SSDT ACPI table to describe the serial >> port used as the debug port. On the Neoverse reference design platforms, >> the UART0 port of the SoC is used as the debug port. >> >> Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> >> --- >> Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 1 + >> Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 1 + >> Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 1 + >> Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 1 + >> Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 1 + >> Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 1 + >> Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 1 + >> Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 1 + >> Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 15 +++++++++++++++ >> 9 files changed, 23 insertions(+) >> >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf >> b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf >> index d2935f1e73e1..d46ae0274d90 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf >> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf >> @@ -39,6 +39,7 @@ [Packages] >> [FixedPcd] >> gArmPlatformTokenSpaceGuid.PcdCoreCount >> gArmPlatformTokenSpaceGuid.PcdClusterCount >> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >> >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf >> b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf >> index 73f47ece7718..4bf681d3bc2e 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf >> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf >> @@ -39,6 +39,7 @@ [Packages] >> [FixedPcd] >> gArmPlatformTokenSpaceGuid.PcdCoreCount >> gArmPlatformTokenSpaceGuid.PcdClusterCount >> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >> >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf >> b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf >> index da14120bde69..89f532217ceb 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf >> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf >> @@ -41,6 +41,7 @@ [Packages] >> [FixedPcd] >> gArmPlatformTokenSpaceGuid.PcdCoreCount >> gArmPlatformTokenSpaceGuid.PcdClusterCount >> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >> >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf >> b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf >> index 90976250445e..66d5422df36b 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf >> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf >> @@ -37,6 +37,7 @@ [Packages] >> Platform/ARM/SgiPkg/SgiPlatform.dec >> >> [FixedPcd] >> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >> gArmPlatformTokenSpaceGuid.PcdCoreCount >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf >> b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf >> index 95fb446c105d..742734ab7348 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf >> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf >> @@ -37,6 +37,7 @@ [Packages] >> Platform/ARM/SgiPkg/SgiPlatform.dec >> >> [FixedPcd] >> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >> gArmPlatformTokenSpaceGuid.PcdCoreCount >> gArmPlatformTokenSpaceGuid.PcdClusterCount >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf >> b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf >> index 3540575dd641..cc41dda1a135 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf >> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf >> @@ -37,6 +37,7 @@ [Packages] >> Platform/ARM/SgiPkg/SgiPlatform.dec >> >> [FixedPcd] >> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >> gArmPlatformTokenSpaceGuid.PcdCoreCount >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf >> b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf >> index c6bd69b4a538..ecb42bf3cc33 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf >> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf >> @@ -39,6 +39,7 @@ [Packages] >> Platform/ARM/SgiPkg/SgiPlatform.dec >> >> [FixedPcd] >> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >> gArmPlatformTokenSpaceGuid.PcdCoreCount >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf >> b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf >> index cb3f3fcdb9b6..379b5c9e6122 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf >> +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf >> @@ -39,6 +39,7 @@ [Packages] >> [FixedPcd] >> gArmPlatformTokenSpaceGuid.PcdCoreCount >> gArmPlatformTokenSpaceGuid.PcdClusterCount >> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >> >> diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl >> b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl >> index fd20c67e1225..ab8578072836 100644 >> --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl >> +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl >> @@ -29,6 +29,21 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, >> "ARMLTD", "ARMSGI", >> }) >> } >> >> + Device (COM1) { >> + Name (_HID, "ARMH0011") >> + Name (_CID, "ARMH0011") > > [SAMI] Any reason for not using ARMHB000 (see Section 2.3 of the ACPI > for Arm Components 1.1 specification)? [Rohit]: COM1 is based on PL011. Since PL011 would satisfy SBSA compliance, we have used PL011's HID. > > >> + Name (_UID, One) >> + Name (_STA, 0xF) >> + Name (_CRS, ResourceTemplate () { >> + Memory32Fixed ( >> + ReadWrite, >> + FixedPcdGet64 (PcdSerialDbgRegisterBase), >> + 0x1000 >> + ) >> + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { >> FixedPcdGet32 (PcdSerialDbgInterrupt) } >> + }) >> + } >> + >> // VIRTIO DISK >> Device (VR00) { >> Name (_HID, "LNRO0005") > > Regards, Rohit [-- Attachment #2: Type: text/html, Size: 7645 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-07-22 12:46 ` [edk2-devel] " Rohit Mathew @ 2022-07-25 10:41 ` Sami Mujawar 2022-07-25 11:36 ` Thanu Rangarajan 0 siblings, 1 reply; 16+ messages in thread From: Sami Mujawar @ 2022-07-25 10:41 UTC (permalink / raw) To: Rohit Mathew, devel; +Cc: Thanu.Rangarajan, nd [-- Attachment #1: Type: text/plain, Size: 9408 bytes --] Hi Rohit, Please find my response inline marked [SAMI]. Regards, Sami Mujawar On 22/07/2022 01:46 pm, Rohit Mathew wrote: > Hi Sami, > > Thank you for the review. > Regarding the use of Dynamic Tables Framework, there are no short term > plans to migrate to it. Please find my response for your comment inline - > > On Thu, Jul 21, 2022 at 01:42 PM, Sami Mujawar wrote: > > Hi Rohit, > > Have you considered moving to use Dynamic Tables Framework? There is > just too much repetition in this series which can be easily > avoided. It > will also make the code more maintainable. > > Apart from this I have a comment marked inline as [SAMI]. > > Regards, > > Sami Mujawar > > On 04/07/2022 05:59 pm, Rohit Mathew wrote: > > Add a new device entry in the SSDT ACPI table to describe the > serial > port used as the debug port. On the Neoverse reference design > platforms, > the UART0 port of the SoC is used as the debug port. > > Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> > --- > Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 1 + > Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 15 +++++++++++++++ > 9 files changed, 23 insertions(+) > > diff --git > a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > index d2935f1e73e1..d46ae0274d90 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf > @@ -39,6 +39,7 @@ [Packages] > [FixedPcd] > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > > diff --git > a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > index 73f47ece7718..4bf681d3bc2e 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf > @@ -39,6 +39,7 @@ [Packages] > [FixedPcd] > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > > diff --git > a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > index da14120bde69..89f532217ceb 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf > @@ -41,6 +41,7 @@ [Packages] > [FixedPcd] > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > index 90976250445e..66d5422df36b 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf > @@ -37,6 +37,7 @@ [Packages] > Platform/ARM/SgiPkg/SgiPlatform.dec > > [FixedPcd] > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > gArmPlatformTokenSpaceGuid.PcdCoreCount > diff --git > a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > index 95fb446c105d..742734ab7348 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf > @@ -37,6 +37,7 @@ [Packages] > Platform/ARM/SgiPkg/SgiPlatform.dec > > [FixedPcd] > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > index 3540575dd641..cc41dda1a135 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf > @@ -37,6 +37,7 @@ [Packages] > Platform/ARM/SgiPkg/SgiPlatform.dec > > [FixedPcd] > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > gArmPlatformTokenSpaceGuid.PcdCoreCount > diff --git > a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > index c6bd69b4a538..ecb42bf3cc33 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf > @@ -39,6 +39,7 @@ [Packages] > Platform/ARM/SgiPkg/SgiPlatform.dec > > [FixedPcd] > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > gArmPlatformTokenSpaceGuid.PcdCoreCount > diff --git > a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > index cb3f3fcdb9b6..379b5c9e6122 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf > @@ -39,6 +39,7 @@ [Packages] > [FixedPcd] > gArmPlatformTokenSpaceGuid.PcdCoreCount > gArmPlatformTokenSpaceGuid.PcdClusterCount > + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt > gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase > gArmPlatformTokenSpaceGuid.PL011UartInterrupt > > diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > index fd20c67e1225..ab8578072836 100644 > --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl > @@ -29,6 +29,21 @@ DefinitionBlock ("SsdtRosTable.aml", > "SSDT", 2, "ARMLTD", "ARMSGI", > }) > } > > + Device (COM1) { > + Name (_HID, "ARMH0011") > + Name (_CID, "ARMH0011") > > [SAMI] Any reason for not using ARMHB000 (see Section 2.3 of the > ACPI > for Arm Components 1.1 specification)? > > [Rohit]: COM1 is based on PL011. Since PL011 would satisfy SBSA > compliance, we have used PL011's HID. [SAMI] Following is an extract from Section 2.3 of the 'ACPI for Arm Components 1.1' specification. "Some operating systems use the PL011 HID (see Table 5 above) to bind to the Arm Generic UART in the system. While this practice is flawed and not encouraged by Arm, Arm acknowledges that it must be permitted until formal support for the Arm Generic UART HID is made available in these operating systems. Arm strongly recommends use of the Arm Generic UART HID going forward." 1. The Arm Generic UART is a subset of PL011. This means using the ARMHB000 should not be an issue. 2. This file is common to all platforms in SgiPkg, which are infrastructure platforms. 3. Some opreating systems (like Linux) have already integrated support for ARMHB000. Ref: serial: pl011: Add ACPI SBSA UART match id <https://github.com/torvalds/linux/commit/ac442a077acf9a6bf1db4320ec0c3f303be092b3> Considering the above, I think ARMHB000 should be used, here. [/SAMI] > + Name (_UID, One) > + Name (_STA, 0xF) > + Name (_CRS, ResourceTemplate () { > + Memory32Fixed ( > + ReadWrite, > + FixedPcdGet64 (PcdSerialDbgRegisterBase), > + 0x1000 > + ) > + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { > FixedPcdGet32 (PcdSerialDbgInterrupt) } > + }) > + } > + > // VIRTIO DISK > Device (VR00) { > Name (_HID, "LNRO0005") > > Regards, > Rohit [-- Attachment #2: Type: text/html, Size: 12004 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-07-25 10:41 ` Sami Mujawar @ 2022-07-25 11:36 ` Thanu Rangarajan 2022-07-25 14:55 ` Rohit Mathew 0 siblings, 1 reply; 16+ messages in thread From: Thanu Rangarajan @ 2022-07-25 11:36 UTC (permalink / raw) To: Sami Mujawar, Rohit Mathew, devel@edk2.groups.io, Samer El-Haj-Mahmoud; +Cc: nd [-- Attachment #1: Type: text/plain, Size: 9054 bytes --] Hi Rohit, The decision to use the SBSA defined HID for the Generic UART was taken after extensive discussions within the Arm ecosystem. And as Sami points out, now that formal Linux driver support for this HID is available, it would be good if it is used by other components in the stack as well. + Samer for any additional comments/clarifications. Regards, Thanu From: Sami Mujawar <Sami.Mujawar@arm.com> Date: Monday, 25 July 2022 at 16:12 To: Rohit Mathew <Rohit.Mathew@arm.com>, "devel@edk2.groups.io" <devel@edk2.groups.io> Cc: Thanu Rangarajan <Thanu.Rangarajan@arm.com>, nd <nd@arm.com> Subject: Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Hi Rohit, Please find my response inline marked [SAMI]. Regards, Sami Mujawar On 22/07/2022 01:46 pm, Rohit Mathew wrote: Hi Sami, Thank you for the review. Regarding the use of Dynamic Tables Framework, there are no short term plans to migrate to it. Please find my response for your comment inline - On Thu, Jul 21, 2022 at 01:42 PM, Sami Mujawar wrote: Hi Rohit, Have you considered moving to use Dynamic Tables Framework? There is just too much repetition in this series which can be easily avoided. It will also make the code more maintainable. Apart from this I have a comment marked inline as [SAMI]. Regards, Sami Mujawar On 04/07/2022 05:59 pm, Rohit Mathew wrote: Add a new device entry in the SSDT ACPI table to describe the serial port used as the debug port. On the Neoverse reference design platforms, the UART0 port of the SoC is used as the debug port. Signed-off-by: Rohit Mathew <rohit.mathew@arm.com><mailto:rohit.mathew@arm.com> --- Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 15 +++++++++++++++ 9 files changed, 23 insertions(+) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf index d2935f1e73e1..d46ae0274d90 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf index 73f47ece7718..4bf681d3bc2e 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf index da14120bde69..89f532217ceb 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf @@ -41,6 +41,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf index 90976250445e..66d5422df36b 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf index 95fb446c105d..742734ab7348 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf index 3540575dd641..cc41dda1a135 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf index c6bd69b4a538..ecb42bf3cc33 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf index cb3f3fcdb9b6..379b5c9e6122 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl index fd20c67e1225..ab8578072836 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl @@ -29,6 +29,21 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, "ARMLTD", "ARMSGI", }) } + Device (COM1) { + Name (_HID, "ARMH0011") + Name (_CID, "ARMH0011") [SAMI] Any reason for not using ARMHB000 (see Section 2.3 of the ACPI for Arm Components 1.1 specification)? [Rohit]: COM1 is based on PL011. Since PL011 would satisfy SBSA compliance, we have used PL011's HID. [SAMI] Following is an extract from Section 2.3 of the 'ACPI for Arm Components 1.1' specification. "Some operating systems use the PL011 HID (see Table 5 above) to bind to the Arm Generic UART in the system. While this practice is flawed and not encouraged by Arm, Arm acknowledges that it must be permitted until formal support for the Arm Generic UART HID is made available in these operating systems. Arm strongly recommends use of the Arm Generic UART HID going forward." 1. The Arm Generic UART is a subset of PL011. This means using the ARMHB000 should not be an issue. 2. This file is common to all platforms in SgiPkg, which are infrastructure platforms. 3. Some opreating systems (like Linux) have already integrated support for ARMHB000. Ref: serial: pl011: Add ACPI SBSA UART match id<https://github.com/torvalds/linux/commit/ac442a077acf9a6bf1db4320ec0c3f303be092b3> Considering the above, I think ARMHB000 should be used, here. [/SAMI] + Name (_UID, One) + Name (_STA, 0xF) + Name (_CRS, ResourceTemplate () { + Memory32Fixed ( + ReadWrite, + FixedPcdGet64 (PcdSerialDbgRegisterBase), + 0x1000 + ) + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { FixedPcdGet32 (PcdSerialDbgInterrupt) } + }) + } + // VIRTIO DISK Device (VR00) { Name (_HID, "LNRO0005") Regards, Rohit IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. [-- Attachment #2: Type: text/html, Size: 13154 bytes --] ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-07-25 11:36 ` Thanu Rangarajan @ 2022-07-25 14:55 ` Rohit Mathew 2022-08-02 13:50 ` Rohit Mathew 2022-08-17 9:45 ` Sami Mujawar 0 siblings, 2 replies; 16+ messages in thread From: Rohit Mathew @ 2022-07-25 14:55 UTC (permalink / raw) To: Thanu Rangarajan, devel [-- Attachment #1: Type: text/plain, Size: 11065 bytes --] Hi Sami/Thanu, Please find my response inline - On Mon, Jul 25, 2022 at 02:54 PM, Thanu Rangarajan <Thanu.Rangarajan@arm.com> wrote: > > > > Hi Rohit, > > > > The decision to use the SBSA defined HID for the Generic UART was taken > after extensive discussions within the Arm ecosystem. And as Sami points > out, now that formal Linux driver support for this HID is available, it > would be good if it is used by other components in the stack as well. > > > > > > > > + Samer for any additional comments/clarifications. > > > > > > > > Regards, > > > > Thanu > > > > *From:* Sami Mujawar <Sami.Mujawar@arm.com> > *Date:* Monday, 25 July 2022 at 16:12 > *To:* Rohit Mathew <Rohit.Mathew@arm.com>, "devel@edk2.groups.io" > <devel@edk2.groups.io> > *Cc:* Thanu Rangarajan <Thanu.Rangarajan@arm.com>, nd <nd@arm.com> > *Subject:* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug > controller to SSDT > > > > > > > > > > Hi Rohit, > > > > Please find my response inline marked [SAMI]. > > > > Regards, > > > > Sami Mujawar > > > > On 22/07/2022 01:46 pm, Rohit Mathew wrote: > > > >> >> >> Hi Sami, >> >> Thank you for the review. >> Regarding the use of Dynamic Tables Framework, there are no short term >> plans to migrate to it. Please find my response for your comment inline - >> >> On Thu, Jul 21, 2022 at 01:42 PM, Sami Mujawar wrote: >> >> >>> >>> >>> Hi Rohit, >>> >>> Have you considered moving to use Dynamic Tables Framework? There is >>> just too much repetition in this series which can be easily avoided. It >>> will also make the code more maintainable. >>> >>> Apart from this I have a comment marked inline as [SAMI]. >>> >>> Regards, >>> >>> Sami Mujawar >>> >>> On 04/07/2022 05:59 pm, Rohit Mathew wrote: >>> >>> >>>> >>>> >>>> Add a new device entry in the SSDT ACPI table to describe the serial >>>> port used as the debug port. On the Neoverse reference design platforms, >>>> the UART0 port of the SoC is used as the debug port. >>>> >>>> Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> ( rohit.mathew@arm.com ) >>>> >>>> --- >>>> Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 1 + >>>> Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 1 + >>>> Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 1 + >>>> Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 1 + >>>> Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 1 + >>>> Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 1 + >>>> Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 1 + >>>> Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 1 + >>>> Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 15 +++++++++++++++ >>>> 9 files changed, 23 insertions(+) >>>> >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf >>>> b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf >>>> index d2935f1e73e1..d46ae0274d90 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf >>>> @@ -39,6 +39,7 @@ [Packages] >>>> [FixedPcd] >>>> gArmPlatformTokenSpaceGuid.PcdCoreCount >>>> gArmPlatformTokenSpaceGuid.PcdClusterCount >>>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >>>> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >>>> >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf >>>> b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf >>>> index 73f47ece7718..4bf681d3bc2e 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf >>>> @@ -39,6 +39,7 @@ [Packages] >>>> [FixedPcd] >>>> gArmPlatformTokenSpaceGuid.PcdCoreCount >>>> gArmPlatformTokenSpaceGuid.PcdClusterCount >>>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >>>> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >>>> >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf >>>> b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf >>>> index da14120bde69..89f532217ceb 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf >>>> @@ -41,6 +41,7 @@ [Packages] >>>> [FixedPcd] >>>> gArmPlatformTokenSpaceGuid.PcdCoreCount >>>> gArmPlatformTokenSpaceGuid.PcdClusterCount >>>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >>>> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >>>> >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf >>>> b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf >>>> index 90976250445e..66d5422df36b 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf >>>> @@ -37,6 +37,7 @@ [Packages] >>>> Platform/ARM/SgiPkg/SgiPlatform.dec >>>> >>>> [FixedPcd] >>>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >>>> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdCoreCount >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf >>>> b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf >>>> index 95fb446c105d..742734ab7348 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf >>>> @@ -37,6 +37,7 @@ [Packages] >>>> Platform/ARM/SgiPkg/SgiPlatform.dec >>>> >>>> [FixedPcd] >>>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >>>> gArmPlatformTokenSpaceGuid.PcdCoreCount >>>> gArmPlatformTokenSpaceGuid.PcdClusterCount >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf >>>> b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf >>>> index 3540575dd641..cc41dda1a135 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf >>>> @@ -37,6 +37,7 @@ [Packages] >>>> Platform/ARM/SgiPkg/SgiPlatform.dec >>>> >>>> [FixedPcd] >>>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >>>> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdCoreCount >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf >>>> b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf >>>> index c6bd69b4a538..ecb42bf3cc33 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf >>>> @@ -39,6 +39,7 @@ [Packages] >>>> Platform/ARM/SgiPkg/SgiPlatform.dec >>>> >>>> [FixedPcd] >>>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >>>> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdCoreCount >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf >>>> b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf >>>> index cb3f3fcdb9b6..379b5c9e6122 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf >>>> @@ -39,6 +39,7 @@ [Packages] >>>> [FixedPcd] >>>> gArmPlatformTokenSpaceGuid.PcdCoreCount >>>> gArmPlatformTokenSpaceGuid.PcdClusterCount >>>> + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt >>>> gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase >>>> gArmPlatformTokenSpaceGuid.PL011UartInterrupt >>>> >>>> diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl >>>> b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl >>>> index fd20c67e1225..ab8578072836 100644 >>>> --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl >>>> +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl >>>> @@ -29,6 +29,21 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, >>>> "ARMLTD", "ARMSGI", >>>> }) >>>> } >>>> >>>> + Device (COM1) { >>>> + Name (_HID, "ARMH0011") >>>> + Name (_CID, "ARMH0011") >>>> >>>> >>> >>> >>> >>> [SAMI] Any reason for not using ARMHB000 (see Section 2.3 of the ACPI >>> for Arm Components 1.1 specification)? >>> >>> >> >> >> >> [Rohit]: COM1 is based on PL011. Since PL011 would satisfy SBSA >> compliance, we have used PL011's HID. >> >> > > > > [SAMI] Following is an extract from Section 2.3 of the 'ACPI for Arm > Components 1.1' specification. > > > > "Some operating systems use the PL011 HID (see Table 5 above) > to bind to the Arm Generic UART in the system. While this > practice is flawed and not encouraged by Arm, Arm > acknowledges that it must be permitted until formal support for > the Arm Generic UART HID is made available in these operating > systems. > Arm strongly recommends use of the Arm Generic UART HID > going forward." > > > > 1. The Arm Generic UART is a subset of PL011. This means using the > ARMHB000 should not be an issue. > > > > 2. This file is common to all platforms in SgiPkg, which are > infrastructure platforms. > > > > 3. Some opreating systems (like Linux) have already integrated support for > ARMHB000. > > > > Ref: serial: pl011: Add ACPI SBSA UART match id ( > https://github.com/torvalds/linux/commit/ac442a077acf9a6bf1db4320ec0c3f303be092b3 > ) > > > > Considering the above, I think ARMHB000 should be used, here. > > > > [/SAMI] > > > [Rohit] Apologies for not adding more context earlier. RD FVPs instantiates PL011 UART and not the Generic SBSA UART. Although 'Generic UART' would work as it is a subset of PL011, PL011 HID accurately describes the UART controllers for infra platforms. I'm not sure if this is any better explanation; Please let me know if you think otherwise. [/Rohit] > > > > > > > > > > > > >> >>> >>>> >>>> >>>> + Name (_UID, One) >>>> + Name (_STA, 0xF) >>>> + Name (_CRS, ResourceTemplate () { >>>> + Memory32Fixed ( >>>> + ReadWrite, >>>> + FixedPcdGet64 (PcdSerialDbgRegisterBase), >>>> + 0x1000 >>>> + ) >>>> + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { >>>> FixedPcdGet32 (PcdSerialDbgInterrupt) } >>>> + }) >>>> + } >>>> + >>>> // VIRTIO DISK >>>> Device (VR00) { >>>> Name (_HID, "LNRO0005") >>>> >>>> >>> >>> >> >> >> >> Regards, >> Rohit >> >> > > > IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you. [-- Attachment #2: Type: text/html, Size: 12666 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-07-25 14:55 ` Rohit Mathew @ 2022-08-02 13:50 ` Rohit Mathew 2022-08-17 9:19 ` Rohit Mathew 2022-08-17 9:45 ` Sami Mujawar 1 sibling, 1 reply; 16+ messages in thread From: Rohit Mathew @ 2022-08-02 13:50 UTC (permalink / raw) To: devel@edk2.groups.io, Sami Mujawar; +Cc: Thanu Rangarajan, Thomas Abraham, nd [-- Attachment #1: Type: text/plain, Size: 10146 bytes --] Hi Sami, Gentle reminder for this patch series. Regards, Rohit. From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rohit Mathew via groups.io Sent: 25 July 2022 15:56 To: Thanu Rangarajan <Thanu.Rangarajan@arm.com>; devel@edk2.groups.io Subject: Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Hi Sami/Thanu, Please find my response inline - On Mon, Jul 25, 2022 at 02:54 PM, Thanu Rangarajan <Thanu.Rangarajan@arm.com<mailto:Thanu.Rangarajan@arm.com>> wrote: Hi Rohit, The decision to use the SBSA defined HID for the Generic UART was taken after extensive discussions within the Arm ecosystem. And as Sami points out, now that formal Linux driver support for this HID is available, it would be good if it is used by other components in the stack as well. + Samer for any additional comments/clarifications. Regards, Thanu From: Sami Mujawar <Sami.Mujawar@arm.com<mailto:Sami.Mujawar@arm.com>> Date: Monday, 25 July 2022 at 16:12 To: Rohit Mathew <Rohit.Mathew@arm.com<mailto:Rohit.Mathew@arm.com>>, "devel@edk2.groups.io<mailto:devel@edk2.groups.io>" <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> Cc: Thanu Rangarajan <Thanu.Rangarajan@arm.com<mailto:Thanu.Rangarajan@arm.com>>, nd <nd@arm.com<mailto:nd@arm.com>> Subject: Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Hi Rohit, Please find my response inline marked [SAMI]. Regards, Sami Mujawar On 22/07/2022 01:46 pm, Rohit Mathew wrote: Hi Sami, Thank you for the review. Regarding the use of Dynamic Tables Framework, there are no short term plans to migrate to it. Please find my response for your comment inline - On Thu, Jul 21, 2022 at 01:42 PM, Sami Mujawar wrote: Hi Rohit, Have you considered moving to use Dynamic Tables Framework? There is just too much repetition in this series which can be easily avoided. It will also make the code more maintainable. Apart from this I have a comment marked inline as [SAMI]. Regards, Sami Mujawar On 04/07/2022 05:59 pm, Rohit Mathew wrote: Add a new device entry in the SSDT ACPI table to describe the serial port used as the debug port. On the Neoverse reference design platforms, the UART0 port of the SoC is used as the debug port. Signed-off-by: Rohit Mathew <rohit.mathew@arm.com><mailto:rohit.mathew@arm.com> --- Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 15 +++++++++++++++ 9 files changed, 23 insertions(+) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf index d2935f1e73e1..d46ae0274d90 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf index 73f47ece7718..4bf681d3bc2e 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf index da14120bde69..89f532217ceb 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf @@ -41,6 +41,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf index 90976250445e..66d5422df36b 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf index 95fb446c105d..742734ab7348 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf index 3540575dd641..cc41dda1a135 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf index c6bd69b4a538..ecb42bf3cc33 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf index cb3f3fcdb9b6..379b5c9e6122 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl index fd20c67e1225..ab8578072836 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl @@ -29,6 +29,21 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, "ARMLTD", "ARMSGI", }) } + Device (COM1) { + Name (_HID, "ARMH0011") + Name (_CID, "ARMH0011") [SAMI] Any reason for not using ARMHB000 (see Section 2.3 of the ACPI for Arm Components 1.1 specification)? [Rohit]: COM1 is based on PL011. Since PL011 would satisfy SBSA compliance, we have used PL011's HID. [SAMI] Following is an extract from Section 2.3 of the 'ACPI for Arm Components 1.1' specification. "Some operating systems use the PL011 HID (see Table 5 above) to bind to the Arm Generic UART in the system. While this practice is flawed and not encouraged by Arm, Arm acknowledges that it must be permitted until formal support for the Arm Generic UART HID is made available in these operating systems. Arm strongly recommends use of the Arm Generic UART HID going forward." 1. The Arm Generic UART is a subset of PL011. This means using the ARMHB000 should not be an issue. 2. This file is common to all platforms in SgiPkg, which are infrastructure platforms. 3. Some opreating systems (like Linux) have already integrated support for ARMHB000. Ref: serial: pl011: Add ACPI SBSA UART match id<https://github.com/torvalds/linux/commit/ac442a077acf9a6bf1db4320ec0c3f303be092b3> Considering the above, I think ARMHB000 should be used, here. [/SAMI] [Rohit] Apologies for not adding more context earlier. RD FVPs instantiates PL011 UART and not the Generic SBSA UART. Although 'Generic UART' would work as it is a subset of PL011, PL011 HID accurately describes the UART controllers for infra platforms. I'm not sure if this is any better explanation; Please let me know if you think otherwise. [/Rohit] + Name (_UID, One) + Name (_STA, 0xF) + Name (_CRS, ResourceTemplate () { + Memory32Fixed ( + ReadWrite, + FixedPcdGet64 (PcdSerialDbgRegisterBase), + 0x1000 + ) + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { FixedPcdGet32 (PcdSerialDbgInterrupt) } + }) + } + // VIRTIO DISK Device (VR00) { Name (_HID, "LNRO0005") Regards, Rohit IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. [-- Attachment #2: Type: text/html, Size: 16447 bytes --] ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-08-02 13:50 ` Rohit Mathew @ 2022-08-17 9:19 ` Rohit Mathew 0 siblings, 0 replies; 16+ messages in thread From: Rohit Mathew @ 2022-08-17 9:19 UTC (permalink / raw) To: devel@edk2.groups.io; +Cc: Thanu Rangarajan, Thomas Abraham, nd, Sami Mujawar [-- Attachment #1: Type: text/plain, Size: 10636 bytes --] Gentle reminder for this patch series. Regards, Rohit From: Rohit Mathew Sent: 02 August 2022 14:51 To: devel@edk2.groups.io; Sami Mujawar <Sami.Mujawar@arm.com> Cc: Thanu Rangarajan <Thanu.Rangarajan@arm.com>; Thomas Abraham <thomas.abraham@arm.com>; nd <nd@arm.com> Subject: RE: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Hi Sami, Gentle reminder for this patch series. Regards, Rohit. From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Rohit Mathew via groups.io Sent: 25 July 2022 15:56 To: Thanu Rangarajan <Thanu.Rangarajan@arm.com<mailto:Thanu.Rangarajan@arm.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> Subject: Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Hi Sami/Thanu, Please find my response inline - On Mon, Jul 25, 2022 at 02:54 PM, Thanu Rangarajan <Thanu.Rangarajan@arm.com<mailto:Thanu.Rangarajan@arm.com>> wrote: Hi Rohit, The decision to use the SBSA defined HID for the Generic UART was taken after extensive discussions within the Arm ecosystem. And as Sami points out, now that formal Linux driver support for this HID is available, it would be good if it is used by other components in the stack as well. + Samer for any additional comments/clarifications. Regards, Thanu From: Sami Mujawar <Sami.Mujawar@arm.com<mailto:Sami.Mujawar@arm.com>> Date: Monday, 25 July 2022 at 16:12 To: Rohit Mathew <Rohit.Mathew@arm.com<mailto:Rohit.Mathew@arm.com>>, "devel@edk2.groups.io<mailto:devel@edk2.groups.io>" <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> Cc: Thanu Rangarajan <Thanu.Rangarajan@arm.com<mailto:Thanu.Rangarajan@arm.com>>, nd <nd@arm.com<mailto:nd@arm.com>> Subject: Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Hi Rohit, Please find my response inline marked [SAMI]. Regards, Sami Mujawar On 22/07/2022 01:46 pm, Rohit Mathew wrote: Hi Sami, Thank you for the review. Regarding the use of Dynamic Tables Framework, there are no short term plans to migrate to it. Please find my response for your comment inline - On Thu, Jul 21, 2022 at 01:42 PM, Sami Mujawar wrote: Hi Rohit, Have you considered moving to use Dynamic Tables Framework? There is just too much repetition in this series which can be easily avoided. It will also make the code more maintainable. Apart from this I have a comment marked inline as [SAMI]. Regards, Sami Mujawar On 04/07/2022 05:59 pm, Rohit Mathew wrote: Add a new device entry in the SSDT ACPI table to describe the serial port used as the debug port. On the Neoverse reference design platforms, the UART0 port of the SoC is used as the debug port. Signed-off-by: Rohit Mathew <rohit.mathew@arm.com><mailto:rohit.mathew@arm.com> --- Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 1 + Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 15 +++++++++++++++ 9 files changed, 23 insertions(+) diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf index d2935f1e73e1..d46ae0274d90 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf index 73f47ece7718..4bf681d3bc2e 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf index da14120bde69..89f532217ceb 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf @@ -41,6 +41,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf index 90976250445e..66d5422df36b 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf index 95fb446c105d..742734ab7348 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf index 3540575dd641..cc41dda1a135 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf @@ -37,6 +37,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf index c6bd69b4a538..ecb42bf3cc33 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf @@ -39,6 +39,7 @@ [Packages] Platform/ARM/SgiPkg/SgiPlatform.dec [FixedPcd] + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdCoreCount diff --git a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf index cb3f3fcdb9b6..379b5c9e6122 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf +++ b/Platform/ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf @@ -39,6 +39,7 @@ [Packages] [FixedPcd] gArmPlatformTokenSpaceGuid.PcdCoreCount gArmPlatformTokenSpaceGuid.PcdClusterCount + gArmPlatformTokenSpaceGuid.PcdSerialDbgInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase gArmPlatformTokenSpaceGuid.PL011UartInterrupt diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl index fd20c67e1225..ab8578072836 100644 --- a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl +++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl @@ -29,6 +29,21 @@ DefinitionBlock ("SsdtRosTable.aml", "SSDT", 2, "ARMLTD", "ARMSGI", }) } + Device (COM1) { + Name (_HID, "ARMH0011") + Name (_CID, "ARMH0011") [SAMI] Any reason for not using ARMHB000 (see Section 2.3 of the ACPI for Arm Components 1.1 specification)? [Rohit]: COM1 is based on PL011. Since PL011 would satisfy SBSA compliance, we have used PL011's HID. [SAMI] Following is an extract from Section 2.3 of the 'ACPI for Arm Components 1.1' specification. "Some operating systems use the PL011 HID (see Table 5 above) to bind to the Arm Generic UART in the system. While this practice is flawed and not encouraged by Arm, Arm acknowledges that it must be permitted until formal support for the Arm Generic UART HID is made available in these operating systems. Arm strongly recommends use of the Arm Generic UART HID going forward." 1. The Arm Generic UART is a subset of PL011. This means using the ARMHB000 should not be an issue. 2. This file is common to all platforms in SgiPkg, which are infrastructure platforms. 3. Some opreating systems (like Linux) have already integrated support for ARMHB000. Ref: serial: pl011: Add ACPI SBSA UART match id<https://github.com/torvalds/linux/commit/ac442a077acf9a6bf1db4320ec0c3f303be092b3> Considering the above, I think ARMHB000 should be used, here. [/SAMI] [Rohit] Apologies for not adding more context earlier. RD FVPs instantiates PL011 UART and not the Generic SBSA UART. Although 'Generic UART' would work as it is a subset of PL011, PL011 HID accurately describes the UART controllers for infra platforms. I'm not sure if this is any better explanation; Please let me know if you think otherwise. [/Rohit] + Name (_UID, One) + Name (_STA, 0xF) + Name (_CRS, ResourceTemplate () { + Memory32Fixed ( + ReadWrite, + FixedPcdGet64 (PcdSerialDbgRegisterBase), + 0x1000 + ) + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { FixedPcdGet32 (PcdSerialDbgInterrupt) } + }) + } + // VIRTIO DISK Device (VR00) { Name (_HID, "LNRO0005") Regards, Rohit IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. [-- Attachment #2: Type: text/html, Size: 17516 bytes --] ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-07-25 14:55 ` Rohit Mathew 2022-08-02 13:50 ` Rohit Mathew @ 2022-08-17 9:45 ` Sami Mujawar 2022-08-17 10:31 ` Rohit Mathew 1 sibling, 1 reply; 16+ messages in thread From: Sami Mujawar @ 2022-08-17 9:45 UTC (permalink / raw) To: Rohit Mathew, devel [-- Attachment #1: Type: text/plain, Size: 168 bytes --] Hi Rohit, Apologies for the delay. I will pick this up once the merge window opens. Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Regards, Sami Mujawar [-- Attachment #2: Type: text/html, Size: 206 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT 2022-08-17 9:45 ` Sami Mujawar @ 2022-08-17 10:31 ` Rohit Mathew 0 siblings, 0 replies; 16+ messages in thread From: Rohit Mathew @ 2022-08-17 10:31 UTC (permalink / raw) To: Sami Mujawar, devel@edk2.groups.io; +Cc: nd, Thomas Abraham [-- Attachment #1: Type: text/plain, Size: 457 bytes --] Thanks Sami. Regards, Rohit From: Sami Mujawar <sami.mujawar@arm.com> Sent: 17 August 2022 10:46 To: Rohit Mathew <Rohit.Mathew@arm.com>; devel@edk2.groups.io Subject: Re: [edk2-devel] [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Hi Rohit, Apologies for the delay. I will pick this up once the merge window opens. Reviewed-by: Sami Mujawar <sami.mujawar@arm.com<mailto:sami.mujawar@arm.com>> Regards, Sami Mujawar [-- Attachment #2: Type: text/html, Size: 2574 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage 2022-07-04 16:59 [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Rohit Mathew 2022-07-04 16:59 ` [PATCH 1/2] Platform/Sgi: Update ACPI tables to use console UART Rohit Mathew 2022-07-04 16:59 ` [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Rohit Mathew @ 2022-07-04 21:38 ` Thomas Abraham 2022-07-18 18:00 ` [edk2-devel] " Rohit Mathew 2022-09-15 17:13 ` Sami Mujawar 4 siblings, 0 replies; 16+ messages in thread From: Thomas Abraham @ 2022-07-04 21:38 UTC (permalink / raw) To: Rohit Mathew, devel; +Cc: Ard Biesheuvel, Sami Mujawar, nd, pierre.gondois On 04/07/2022 17:59, Rohit Mathew wrote: > Patch 433b5b1b0f7f ("Platform/Sgi: Route logs to different sets of > consoles") setup the routing of console messages to a different set > of UART ports. Following up with this change, this patch series updates > the ACPI tables to route the console messages to the console UART and > adds a device entry for the debug UART. > > Link to github branch for the patches in this series - > https://github.com/rohit-arm/edk2-platforms/tree/serial_port_acpi > > Rohit Mathew (2): > Platform/Sgi: Update ACPI tables to use console UART > Platform/Sgi: Add serial debug controller to SSDT > > .../SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 3 +++ > Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc | 2 +- > Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 17 ++++++++++++++++- > 10 files changed, 41 insertions(+), 2 deletions(-) > For this series - Reviewed-by: Thomas Abraham <thomas.abraham@arm.com> Tested-by: Thomas Abraham <thomas.abraham@arm.com> Thanks. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage 2022-07-04 16:59 [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Rohit Mathew ` (2 preceding siblings ...) 2022-07-04 21:38 ` [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Thomas Abraham @ 2022-07-18 18:00 ` Rohit Mathew 2022-09-15 17:13 ` Sami Mujawar 4 siblings, 0 replies; 16+ messages in thread From: Rohit Mathew @ 2022-07-18 18:00 UTC (permalink / raw) To: Rohit Mathew, devel [-- Attachment #1: Type: text/plain, Size: 1382 bytes --] Hi Team, Gentle reminder for this patch set. Regards, Rohit On Mon, Jul 4, 2022 at 05:59 PM, Rohit Mathew wrote: > > Patch 433b5b1b0f7f ("Platform/Sgi: Route logs to different sets of > consoles") setup the routing of console messages to a different set > of UART ports. Following up with this change, this patch series updates > the ACPI tables to route the console messages to the console UART and > adds a device entry for the debug UART. > > Link to github branch for the patches in this series - > https://github.com/rohit-arm/edk2-platforms/tree/serial_port_acpi > > Rohit Mathew (2): > Platform/Sgi: Update ACPI tables to use console UART > Platform/Sgi: Add serial debug controller to SSDT > > .../SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 3 +++ > Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc | 2 +- > Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 17 ++++++++++++++++- > 10 files changed, 41 insertions(+), 2 deletions(-) > > --=20 > 2.17.1 [-- Attachment #2: Type: text/html, Size: 1596 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage 2022-07-04 16:59 [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Rohit Mathew ` (3 preceding siblings ...) 2022-07-18 18:00 ` [edk2-devel] " Rohit Mathew @ 2022-09-15 17:13 ` Sami Mujawar 4 siblings, 0 replies; 16+ messages in thread From: Sami Mujawar @ 2022-09-15 17:13 UTC (permalink / raw) To: Rohit Mathew, devel; +Cc: Ard Biesheuvel, Thomas Abraham, nd@arm.com Apologies for the delay. Merged as f4679715a40d..8d8bb28d2c4b Regards, Sami Mujawar On 04/07/2022 05:59 pm, Rohit Mathew wrote: > Patch 433b5b1b0f7f ("Platform/Sgi: Route logs to different sets of > consoles") setup the routing of console messages to a different set > of UART ports. Following up with this change, this patch series updates > the ACPI tables to route the console messages to the console UART and > adds a device entry for the debug UART. > > Link to github branch for the patches in this series - > https://github.com/rohit-arm/edk2-platforms/tree/serial_port_acpi > > Rohit Mathew (2): > Platform/Sgi: Update ACPI tables to use console UART > Platform/Sgi: Add serial debug controller to SSDT > > .../SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf | 3 +++ > .../SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/RdV1McAcpiTables.inf | 3 +++ > .../ARM/SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 3 +++ > Platform/ARM/SgiPkg/AcpiTables/Spcr.aslc | 2 +- > Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl | 17 ++++++++++++++++- > 10 files changed, 41 insertions(+), 2 deletions(-) > ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2022-09-15 17:14 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-07-04 16:59 [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Rohit Mathew 2022-07-04 16:59 ` [PATCH 1/2] Platform/Sgi: Update ACPI tables to use console UART Rohit Mathew 2022-07-21 12:40 ` Sami Mujawar 2022-07-04 16:59 ` [PATCH 2/2] Platform/Sgi: Add serial debug controller to SSDT Rohit Mathew 2022-07-21 12:41 ` Sami Mujawar 2022-07-22 12:46 ` [edk2-devel] " Rohit Mathew 2022-07-25 10:41 ` Sami Mujawar 2022-07-25 11:36 ` Thanu Rangarajan 2022-07-25 14:55 ` Rohit Mathew 2022-08-02 13:50 ` Rohit Mathew 2022-08-17 9:19 ` Rohit Mathew 2022-08-17 9:45 ` Sami Mujawar 2022-08-17 10:31 ` Rohit Mathew 2022-07-04 21:38 ` [edk2-platforms][PATCH 0/2] Platform/Sgi: Update serial port usage Thomas Abraham 2022-07-18 18:00 ` [edk2-devel] " Rohit Mathew 2022-09-15 17:13 ` Sami Mujawar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox