From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: edk2-devel@lists.01.org
Cc: leif.lindholm@linaro.org, methavanitpong.pipat@socionext.com,
masahisa.kojima@linaro.org, masami.hiramatsu@linaro.org,
Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: [PATCH edk2-platforms 00/14] add support for Socionext Synquacer EVB
Date: Fri, 8 Sep 2017 19:23:01 +0100 [thread overview]
Message-ID: <20170908182315.9591-1-ard.biesheuvel@linaro.org> (raw)
This adds support for the Socionext Synquacer SC2A11 evaluation board.
It implements support for the core peripherals (CPU, GIC, serial), and
for the two PCIe RCs present on this board. (Note that the board requires
PCI slot CN2 to be populated or it will not boot).
Both ACPI and DT hardware descriptions are provided. In ACPI mode, Debian
stretch can be booted and installed on PCIe based peripherals, and
requires a PCIe based network card that already has upstream support.
The DT description contains references to drivers that are not upstream
yet, and will be merged into Linux v4.15 at the earliest. No other OS
support is currently planned (as far as I am aware)
The non-volatile EFI variable store is backed by the SPI NOR flash,
which is therefore not exposed to the OS. Note that it occupies the
'devtree' partition, which must be wiped before use.
A driver for the NETSEC network interface is included, which means
network boot is supported as well. (Note that this driver deviates
in coding style. This code is based on the platform independent
driver provided by Socionext, and making cosmetic changes to it
will only make it more difficult to track upstream changes)
Note that this firmware requires a version of the CM3 firmware that is
compatible with the PCIe window configuration as can be found in the file
Silicon/Socionext/Synquacer/Include/Platform/Pcie.h (patch #1)
Ard Biesheuvel (14):
Silicon/Synquacer: add package with platform headers
Silicon/Synquacer: add MemoryInitPeiLib implementation
Platform: add support for Socionext Synquacer eval board
Silicon/Synquacer: implement PciSegmentLib to support dual RCs
Silicon/Synquacer: implement PciHostBridgeLib support
Silicon/Synquacer: implement EFI_CPU_IO2_PROTOCOL
Platform/SynquacerEvalBoard: add PCI support
Silicon/Socionext: add driver for NETSEC network controller
Platform/SynquacerEvalBoard: add NETSEC driver
Silicon/Synquacer: add ACPI support
Silicon/Synquacer: add device tree support for eval board
Silicon/Synquacer: add NorFlashPlatformLib implementation
Silicon/Socionext: add driver for SPI NOR flash
Platform/Synquacer: incorporate NOR flash and variable drivers
Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc | 528 +++++++
Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf | 361 +++++
Silicon/Socionext/Synquacer/AcpiTables/AcpiSsdtRootPci.asl | 292 ++++
Silicon/Socionext/Synquacer/AcpiTables/AcpiTables.h | 58 +
Silicon/Socionext/Synquacer/AcpiTables/AcpiTables.inf | 58 +
Silicon/Socionext/Synquacer/AcpiTables/Dsdt.asl | 168 +++
Silicon/Socionext/Synquacer/AcpiTables/Fadt.aslc | 88 ++
Silicon/Socionext/Synquacer/AcpiTables/Gtdt.aslc | 98 ++
Silicon/Socionext/Synquacer/AcpiTables/Iort.aslc | 164 +++
Silicon/Socionext/Synquacer/AcpiTables/Madt.aslc | 152 ++
Silicon/Socionext/Synquacer/AcpiTables/Mcfg.aslc | 63 +
Silicon/Socionext/Synquacer/AcpiTables/Spcr.aslc | 127 ++
Silicon/Socionext/Synquacer/DeviceTree/Synquacer.dtsi | 517 +++++++
Silicon/Socionext/Synquacer/DeviceTree/SynquacerEvalBoard.dts | 21 +
Silicon/Socionext/Synquacer/DeviceTree/SynquacerEvalBoard.inf | 28 +
Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/Fip006Dxe.dec | 31 +
Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/Fip006Dxe.inf | 78 ++
Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/Fip006Reg.h | 242 ++++
Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/NorFlashBlockIoDxe.c | 136 ++
Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/NorFlashDxe.c | 1313 ++++++++++++++++++
Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/NorFlashDxe.h | 305 ++++
Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/NorFlashFvbDxe.c | 845 ++++++++++++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/NetsecDxe.c | 1000 ++++++++++++++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/NetsecDxe.dec | 47 +
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/NetsecDxe.h | 88 ++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/NetsecDxe.inf | 69 +
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/include/ogma_api.h | 736 ++++++++++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/include/ogma_basic_type.h | 45 +
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/include/ogma_version.h | 24 +
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_basic_access.c | 88 ++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_basic_access.h | 52 +
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_desc_ring_access.c | 1391 +++++++++++++++++++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_desc_ring_access_internal.h | 111 ++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_gmac_access.c | 1454 ++++++++++++++++++++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_internal.h | 210 +++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_misc.c | 1385 +++++++++++++++++++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_misc_internal.h | 38 +
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_reg.h | 219 +++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_reg_f_gmac_4mt.h | 222 +++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_reg_netsec.h | 368 +++++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/ogma_config.h | 25 +
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/pfdep.h | 265 ++++
Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/pfdep_uefi.c | 176 +++
Silicon/Socionext/Synquacer/Drivers/SynquacerPciCpuIo2dxe/SynquacerPciCpuIo2Dxe.c | 588 ++++++++
Silicon/Socionext/Synquacer/Drivers/SynquacerPciCpuIo2dxe/SynquacerPciCpuIo2Dxe.inf | 50 +
Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h | 65 +
Silicon/Socionext/Synquacer/Include/Platform/Pcie.h | 63 +
Silicon/Socionext/Synquacer/Library/NorFlashSynquacerLib/NorFlashSynquacer.c | 60 +
Silicon/Socionext/Synquacer/Library/NorFlashSynquacerLib/NorFlashSynquacerLib.inf | 38 +
Silicon/Socionext/Synquacer/Library/SynquacerLib/AArch64/SynquacerHelper.S | 93 ++
Silicon/Socionext/Synquacer/Library/SynquacerLib/Arm/SynquacerHelper.S | 93 ++
Silicon/Socionext/Synquacer/Library/SynquacerLib/Synquacer.c | 124 ++
Silicon/Socionext/Synquacer/Library/SynquacerLib/SynquacerLib.inf | 39 +
Silicon/Socionext/Synquacer/Library/SynquacerMemoryInitPeiLib/SynquacerMemoryInitPeiLib.c | 150 ++
Silicon/Socionext/Synquacer/Library/SynquacerMemoryInitPeiLib/SynquacerMemoryInitPeiLib.inf | 52 +
Silicon/Socionext/Synquacer/Library/SynquacerPciHostBridgeLib/SynquacerPciHostBridgeLib.c | 223 +++
Silicon/Socionext/Synquacer/Library/SynquacerPciHostBridgeLib/SynquacerPciHostBridgeLib.inf | 50 +
Silicon/Socionext/Synquacer/Library/SynquacerPciHostBridgeLib/SynquacerPciHostBridgeLibConstructor.c | 383 ++++++
Silicon/Socionext/Synquacer/Library/SynquacerPciSegmentLib/PciSegmentLib.c | 1396 +++++++++++++++++++
Silicon/Socionext/Synquacer/Library/SynquacerPciSegmentLib/SynquacerPciSegmentLib.inf | 35 +
Silicon/Socionext/Synquacer/Synquacer.dec | 22 +
61 files changed, 17210 insertions(+)
create mode 100644 Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.dsc
create mode 100644 Platform/Socionext/SynquacerEvalBoard/SynquacerEvalBoard.fdf
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/AcpiSsdtRootPci.asl
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/AcpiTables.h
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/AcpiTables.inf
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/Dsdt.asl
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/Fadt.aslc
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/Gtdt.aslc
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/Iort.aslc
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/Madt.aslc
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/Mcfg.aslc
create mode 100644 Silicon/Socionext/Synquacer/AcpiTables/Spcr.aslc
create mode 100644 Silicon/Socionext/Synquacer/DeviceTree/Synquacer.dtsi
create mode 100644 Silicon/Socionext/Synquacer/DeviceTree/SynquacerEvalBoard.dts
create mode 100644 Silicon/Socionext/Synquacer/DeviceTree/SynquacerEvalBoard.inf
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/Fip006Dxe.dec
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/Fip006Dxe.inf
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/Fip006Reg.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/NorFlashBlockIoDxe.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/NorFlashDxe.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/NorFlashDxe.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Fip006Dxe/NorFlashFvbDxe.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/NetsecDxe.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/NetsecDxe.dec
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/NetsecDxe.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/NetsecDxe.inf
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/include/ogma_api.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/include/ogma_basic_type.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/include/ogma_version.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_basic_access.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_basic_access.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_desc_ring_access.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_desc_ring_access_internal.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_gmac_access.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_internal.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_misc.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_misc_internal.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_reg.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_reg_f_gmac_4mt.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/netsec_sdk/src/ogma_reg_netsec.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/ogma_config.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/pfdep.h
create mode 100644 Silicon/Socionext/Synquacer/Drivers/Net/NetsecDxe/netsec_for_uefi/pfdep_uefi.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/SynquacerPciCpuIo2dxe/SynquacerPciCpuIo2Dxe.c
create mode 100644 Silicon/Socionext/Synquacer/Drivers/SynquacerPciCpuIo2dxe/SynquacerPciCpuIo2Dxe.inf
create mode 100644 Silicon/Socionext/Synquacer/Include/Platform/MemoryMap.h
create mode 100644 Silicon/Socionext/Synquacer/Include/Platform/Pcie.h
create mode 100644 Silicon/Socionext/Synquacer/Library/NorFlashSynquacerLib/NorFlashSynquacer.c
create mode 100644 Silicon/Socionext/Synquacer/Library/NorFlashSynquacerLib/NorFlashSynquacerLib.inf
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerLib/AArch64/SynquacerHelper.S
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerLib/Arm/SynquacerHelper.S
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerLib/Synquacer.c
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerLib/SynquacerLib.inf
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerMemoryInitPeiLib/SynquacerMemoryInitPeiLib.c
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerMemoryInitPeiLib/SynquacerMemoryInitPeiLib.inf
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerPciHostBridgeLib/SynquacerPciHostBridgeLib.c
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerPciHostBridgeLib/SynquacerPciHostBridgeLib.inf
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerPciHostBridgeLib/SynquacerPciHostBridgeLibConstructor.c
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerPciSegmentLib/PciSegmentLib.c
create mode 100644 Silicon/Socionext/Synquacer/Library/SynquacerPciSegmentLib/SynquacerPciSegmentLib.inf
create mode 100644 Silicon/Socionext/Synquacer/Synquacer.dec
--
2.11.0
next reply other threads:[~2017-09-08 18:20 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-08 18:23 Ard Biesheuvel [this message]
2017-09-08 18:23 ` [PATCH edk2-platforms 01/14] Silicon/Synquacer: add package with platform headers Ard Biesheuvel
2017-09-11 13:31 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 02/14] Silicon/Synquacer: add MemoryInitPeiLib implementation Ard Biesheuvel
2017-09-11 13:36 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 03/14] Platform: add support for Socionext Synquacer eval board Ard Biesheuvel
2017-09-11 13:54 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 04/14] Silicon/Synquacer: implement PciSegmentLib to support dual RCs Ard Biesheuvel
2017-09-11 14:03 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 05/14] Silicon/Synquacer: implement PciHostBridgeLib support Ard Biesheuvel
2017-09-11 14:22 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 06/14] Silicon/Synquacer: implement EFI_CPU_IO2_PROTOCOL Ard Biesheuvel
2017-09-11 14:45 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 07/14] Platform/SynquacerEvalBoard: add PCI support Ard Biesheuvel
2017-09-11 14:48 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 08/14] Silicon/Socionext: add driver for NETSEC network controller Ard Biesheuvel
2017-09-11 16:12 ` Leif Lindholm
2017-10-28 13:06 ` Ard Biesheuvel
2017-10-28 21:25 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 09/14] Platform/SynquacerEvalBoard: add NETSEC driver Ard Biesheuvel
2017-09-11 16:23 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 10/14] Silicon/Synquacer: add ACPI support Ard Biesheuvel
2017-09-11 16:33 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 11/14] Silicon/Synquacer: add device tree support for eval board Ard Biesheuvel
2017-09-11 16:37 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 12/14] Silicon/Synquacer: add NorFlashPlatformLib implementation Ard Biesheuvel
2017-09-11 16:38 ` Leif Lindholm
2017-09-08 18:23 ` [PATCH edk2-platforms 13/14] Silicon/Socionext: add driver for SPI NOR flash Ard Biesheuvel
2017-09-11 19:13 ` Leif Lindholm
[not found] ` <e55ff6c595f74189bd53787f3b6b2283@SOC-EX03V.e01.socionext.com>
2017-09-12 8:38 ` Leif Lindholm
2017-09-12 10:48 ` methavanitpong.pipat
2017-09-08 18:23 ` [PATCH edk2-platforms 14/14] Platform/Synquacer: incorporate NOR flash and variable drivers Ard Biesheuvel
2017-09-11 19:13 ` Leif Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170908182315.9591-1-ard.biesheuvel@linaro.org \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox