[edk2-devel] [edk2-platforms][PATCH V1 0/6] Add non-discoverable IO block for Rd-N2

Vivek Kumar Gautam posted 6 patches 2 years, 2 months ago
Failed in applying to current master (apply log)
Platform/ARM/SgiPkg/SgiPlatform.dec           |  56 ++++-
Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc      |   6 +-
Platform/ARM/SgiPkg/SgiMemoryMap2.dsc.inc     |  49 ++++-
Platform/ARM/SgiPkg/RdN2/RdN2.dsc             |   4 +
Platform/ARM/SgiPkg/RdN2Cfg1/RdN2Cfg1.dsc     |   6 +-
.../SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf  |   8 +-
.../SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf  |   8 +-
.../AcpiTables/RdN1EdgeX2AcpiTables.inf       |   8 +-
.../ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf  |  58 ++++-
.../SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf  |  57 ++++-
.../ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf  |   8 +-
.../SgiPkg/AcpiTables/RdV1McAcpiTables.inf    |   8 +-
.../SgiPkg/AcpiTables/Sgi575AcpiTables.inf    |   8 +-
.../Drivers/PlatformDxe/PlatformDxe.inf       |   7 +-
.../Library/PlatformLib/PlatformLib.inf       |   8 +-
Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h   | 197 ++++++++++++++++-
.../SgiPkg/Drivers/PlatformDxe/PlatformDxe.c  |  73 ++++++-
.../Library/PlatformLib/PlatformLibMem.c      |  19 +-
Platform/ARM/SgiPkg/AcpiTables/Iort.aslc      |  14 +-
.../AcpiTables/RdN2/IortNonPciIoVirtBlk.aslc  |  58 +++++
.../RdN2Cfg1/IortNonPciIoVirtBlk.aslc         |  58 +++++
.../SgiPkg/AcpiTables/SsdtNonPciIoVirtBlk.asl | 203 ++++++++++++++++++
22 files changed, 890 insertions(+), 31 deletions(-)
create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdN2/IortNonPciIoVirtBlk.aslc
create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/IortNonPciIoVirtBlk.aslc
create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SsdtNonPciIoVirtBlk.asl
[edk2-devel] [edk2-platforms][PATCH V1 0/6] Add non-discoverable IO block for Rd-N2
Posted by Vivek Kumar Gautam 2 years, 2 months ago
Arm reference design platforms such as RD-N2 and RD-N2-Cfg1 have multiple
I/O virtualization blocks that allow connecting PCIe root bus or non-PCIe
(non-discoverable) devices to the system. Each of the I/O virtualization
blocks consists of an Arm SMMUv3 compliant MMU-700 controller to handle
address translations and a GIC-700 Interrupt Translation Service (ITS)
to support message signaled interrupts (MSIs).
Platforms can connect various devices to these I/O virtualization blocks
through x4/x8/x16 ports exposed by the system. For example, there are two
PL011 UART controllers and two PL330 DMA controllers connected to the
non-PCIe IO virtualization block on RD-N2 and RD-N2-Cfg1 platforms.

This patch series adds ACPI table support - SSDT and IORT, for Rd-N2 and
Rd-N2-Cfg1 platforms to describe the devices connected devices to the I/O
virtualization block. The patches also add suppot for platform DXE driver
to initialize the UART controllers connected on Rd-N2 and Rd-N2-Cfg1
platforms.

More details on how to obtain the platform software stack and how to test
non-discoverable I/O virtualization blocks can be found on gitlab:
https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/infra/common/iovirt_nonpcie.rst

Link to github branch with the patches in this series -
https://github.com/vivgau01/edk2-platforms/tree/topics/non-PCI-IO-virt-blk

Shriram K (1):
  Platform/Sgi: Initialize additional uart controllers

Vivek Gautam (5):
  Platform/Sgi: add PCDs for SMMUv3 base address and interrupts
  Platform/Sgi: add ssdt table for non-discoverable IO virtualization
    block
  Platform/Sgi: add helper macros for ITS, SMMUv3 and DMA IORT nodes
  Platform/Sgi: add IORT table for I/O virtualization block on
    RD-N2-Cfg1
  Platform/Sgi: add IORT table for I/O virtualization block on RD-N2

 Platform/ARM/SgiPkg/SgiPlatform.dec           |  56 ++++-
 Platform/ARM/SgiPkg/SgiMemoryMap.dsc.inc      |   6 +-
 Platform/ARM/SgiPkg/SgiMemoryMap2.dsc.inc     |  49 ++++-
 Platform/ARM/SgiPkg/RdN2/RdN2.dsc             |   4 +
 Platform/ARM/SgiPkg/RdN2Cfg1/RdN2Cfg1.dsc     |   6 +-
 .../SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf  |   8 +-
 .../SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf  |   8 +-
 .../AcpiTables/RdN1EdgeX2AcpiTables.inf       |   8 +-
 .../ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf  |  58 ++++-
 .../SgiPkg/AcpiTables/RdN2Cfg1AcpiTables.inf  |  57 ++++-
 .../ARM/SgiPkg/AcpiTables/RdV1AcpiTables.inf  |   8 +-
 .../SgiPkg/AcpiTables/RdV1McAcpiTables.inf    |   8 +-
 .../SgiPkg/AcpiTables/Sgi575AcpiTables.inf    |   8 +-
 .../Drivers/PlatformDxe/PlatformDxe.inf       |   7 +-
 .../Library/PlatformLib/PlatformLib.inf       |   8 +-
 Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h   | 197 ++++++++++++++++-
 .../SgiPkg/Drivers/PlatformDxe/PlatformDxe.c  |  73 ++++++-
 .../Library/PlatformLib/PlatformLibMem.c      |  19 +-
 Platform/ARM/SgiPkg/AcpiTables/Iort.aslc      |  14 +-
 .../AcpiTables/RdN2/IortNonPciIoVirtBlk.aslc  |  58 +++++
 .../RdN2Cfg1/IortNonPciIoVirtBlk.aslc         |  58 +++++
 .../SgiPkg/AcpiTables/SsdtNonPciIoVirtBlk.asl | 203 ++++++++++++++++++
 22 files changed, 890 insertions(+), 31 deletions(-)
 create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdN2/IortNonPciIoVirtBlk.aslc
 create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg1/IortNonPciIoVirtBlk.aslc
 create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SsdtNonPciIoVirtBlk.asl

-- 
2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#86646): https://edk2.groups.io/g/devel/message/86646
Mute This Topic: https://groups.io/mt/89134660/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-