public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [PATCH v3 0/8] EDK2 on RISC-V Sophgo SG2042 platform
@ 2023-09-07 10:25 caiyuqing_hz
  2023-09-07 10:25 ` [edk2-devel] [PATCH v3 1/8] Sophgo/SG2042Pkg: Add SmbiosPlatformDxe module caiyuqing_hz
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: caiyuqing_hz @ 2023-09-07 10:25 UTC (permalink / raw)
  To: devel; +Cc: sunilvl, quic_llindhol, libing1202, inochiama

From: caiyuqing379 <202235273@mail.sdu.edu.cn>

Description:
  Deploy EDK2 to run on 64-core CPU under RISC-V architecture, and successfully boot to OS.
  Implementation can be found on https://github.com/AII-SDU/edk2-platforms/tree/devel-Sophgo/SG2042Pkg/Platform/Sophgo.

Current progress and status:
  1.Adopted the scheme of separating OpenSBI and EDK2. It follows PEI less design.
  2.The startup process is roughly: ZSBL + FSBL + OpenSBI + EDK2 + GRUB + Linux OS.
    The boot medium is SD card, where ZSBL is loaded and executed by an auxiliary MCU, performing initial initialization
    operations such as DIMM initialization. FSBL then continues with further initialization tasks. OpenSBI is used to
    initialize the hardware platform and kernel. Additionally, we have upgraded the OpenSBI from version V0.9 to V1.2 to
    align with community progress. EDK2, running in S-mode, handles configuration operations, primarily completing the
    SD card driver in the DXE stage, while PCIe driver testing and follow-up work are planned. GRUB2 is used to load the
    operating system, facilitating subsequent operations.

Testing:
  1.Test the project on Sophgo SG2042 EVB and be able to launch Linux OS
  2.Test the project on Milk V Pioneer board and is able to boot into the UEFI shell.
    However, the SD card driver could not correctly recognize all partitions and start Linux OS.

Current limitation:
  1.PCIE driver is not currently supported.
  2.MMU support
    SG2042 (Xuantie C920) MMU can be enabled in SV39 mode. Introduce the PCD variable
    PcdForceNoMMU to disable MMU configuration. Currently, enabling MMU results in a
    timeout for reading data blocks from the SD card, So MMU is disabled by default.
  3.Clang toolchain support
    Build the port using the CLANGDWARF toolchain (clang version 18.0.0). It is able
    to build successfully but the compiled binary was not fully work.

Signed-off-by: caiyuqing379 <202235273@mail.sdu.edu.cn>
Co-authored-by: USER0FISH <libing1202@outlook.com>
Cc: dahogn <dahogn@hotmail.com>
Cc: meng-cz <mengcz1126@gmail.com>
Cc: yli147 <yong.li@intel.com>
Cc: ChaiEvan <evan.chai@intel.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>

caiyuqing379 (8):
  Sophgo/SG2042Pkg: Add SmbiosPlatformDxe module.
  Sophgo/SG2042Pkg: Add PlatformUpdateMmuDxe module.
  Sophgo/SG2042Pkg: Add Sophgo SDHCI driver.
  Sophgo/SG2042Pkg: Add base MMC driver.
  Sophgo/SG2042Pkg: Add SEC module.
  Sophgo/SG2042_EVB_Board: Add Sophgo SG2042 platform.
  Sophgo/SG2042Pkg: Add SG2042Pkg.
  Sophgo/SG2042Pkg: Add platform readme and document.

 Platform/Sophgo/SG2042_EVB_Board/SG2042.dec   |  19 +
 Silicon/Sophgo/SG2042Pkg/SG2042Pkg.dec        |  35 +
 Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc   | 548 +++++++++++
 Platform/Sophgo/SG2042_EVB_Board/SG2042.fdf   | 248 +++++
 .../SG2042Pkg/Drivers/MmcDxe/MmcDxe.inf       |  46 +
 .../PlatformUpdateMmuDxe.inf                  |  34 +
 .../SG2042Pkg/Drivers/SdHostDxe/SdHostDxe.inf |  47 +
 .../SmbiosPlatformDxe/SmbiosPlatformDxe.inf   |  39 +
 Silicon/Sophgo/SG2042Pkg/Sec/SecMain.inf      |  68 ++
 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/Mmc.h | 513 ++++++++++
 .../SG2042Pkg/Drivers/SdHostDxe/SdHci.h       | 309 ++++++
 Silicon/Sophgo/SG2042Pkg/Include/MmcHost.h    | 225 +++++
 Silicon/Sophgo/SG2042Pkg/Sec/SecMain.h        | 104 ++
 .../SG2042Pkg/Drivers/MmcDxe/ComponentName.c  | 156 +++
 .../SG2042Pkg/Drivers/MmcDxe/Diagnostics.c    | 323 ++++++
 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/Mmc.c | 527 ++++++++++
 .../SG2042Pkg/Drivers/MmcDxe/MmcBlockIo.c     | 643 ++++++++++++
 .../SG2042Pkg/Drivers/MmcDxe/MmcDebug.c       | 194 ++++
 .../Drivers/MmcDxe/MmcIdentification.c        | 719 ++++++++++++++
 .../PlatformUpdateMmuDxe.c                    | 593 +++++++++++
 .../SG2042Pkg/Drivers/SdHostDxe/SdHci.c       | 929 ++++++++++++++++++
 .../SG2042Pkg/Drivers/SdHostDxe/SdHostDxe.c   | 450 +++++++++
 .../SmbiosPlatformDxe/SmbiosPlatformDxe.c     | 805 +++++++++++++++
 Silicon/Sophgo/SG2042Pkg/Sec/Cpu.c            |  29 +
 Silicon/Sophgo/SG2042Pkg/Sec/Memory.c         | 347 +++++++
 Silicon/Sophgo/SG2042Pkg/Sec/Platform.c       | 130 +++
 Silicon/Sophgo/SG2042Pkg/Sec/SecMain.c        | 115 +++
 Platform/Sophgo/About_Sophgo_platform.md      |  39 +
 .../Documents/Media/EDK2_SDU_Programme.png    | Bin 0 -> 59830 bytes
 .../Sophgo/Documents/Media/SG2042_CPU.png     | Bin 0 -> 806062 bytes
 .../Documents/Media/Sophgo_SG2042_EVB.png     | Bin 0 -> 1445528 bytes
 Platform/Sophgo/Maintainers.md                | 107 ++
 Platform/Sophgo/SG2042_EVB_Board/Readme.md    | 100 ++
 .../Sophgo/SG2042_EVB_Board/SG2042.fdf.inc    |  62 ++
 .../Sophgo/SG2042_EVB_Board/VarStore.fdf.inc  |  77 ++
 Silicon/Sophgo/SG2042Pkg/SG2042Pkg.uni        |  13 +
 Silicon/Sophgo/SG2042Pkg/SG2042PkgExtra.uni   |  12 +
 Silicon/Sophgo/SG2042Pkg/Sec/SecEntry.S       |  18 +
 38 files changed, 8623 insertions(+)
 create mode 100644 Platform/Sophgo/SG2042_EVB_Board/SG2042.dec
 create mode 100644 Silicon/Sophgo/SG2042Pkg/SG2042Pkg.dec
 create mode 100644 Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc
 create mode 100644 Platform/Sophgo/SG2042_EVB_Board/SG2042.fdf
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/MmcDxe.inf
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/PlatformUpdateMmuDxe/PlatformUpdateMmuDxe.inf
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/SdHostDxe/SdHostDxe.inf
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Sec/SecMain.inf
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/Mmc.h
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/SdHostDxe/SdHci.h
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Include/MmcHost.h
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Sec/SecMain.h
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/ComponentName.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/Diagnostics.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/Mmc.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/MmcBlockIo.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/MmcDebug.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/MmcIdentification.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/PlatformUpdateMmuDxe/PlatformUpdateMmuDxe.c
 create mode 100755 Silicon/Sophgo/SG2042Pkg/Drivers/SdHostDxe/SdHci.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/SdHostDxe/SdHostDxe.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Sec/Cpu.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Sec/Memory.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Sec/Platform.c
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Sec/SecMain.c
 create mode 100644 Platform/Sophgo/About_Sophgo_platform.md
 create mode 100644 Platform/Sophgo/Documents/Media/EDK2_SDU_Programme.png
 create mode 100644 Platform/Sophgo/Documents/Media/SG2042_CPU.png
 create mode 100644 Platform/Sophgo/Documents/Media/Sophgo_SG2042_EVB.png
 create mode 100644 Platform/Sophgo/Maintainers.md
 create mode 100644 Platform/Sophgo/SG2042_EVB_Board/Readme.md
 create mode 100644 Platform/Sophgo/SG2042_EVB_Board/SG2042.fdf.inc
 create mode 100644 Platform/Sophgo/SG2042_EVB_Board/VarStore.fdf.inc
 create mode 100644 Silicon/Sophgo/SG2042Pkg/SG2042Pkg.uni
 create mode 100644 Silicon/Sophgo/SG2042Pkg/SG2042PkgExtra.uni
 create mode 100644 Silicon/Sophgo/SG2042Pkg/Sec/SecEntry.S

--
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108376): https://edk2.groups.io/g/devel/message/108376
Mute This Topic: https://groups.io/mt/101213489/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2023-09-15 14:25 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-07 10:25 [edk2-devel] [PATCH v3 0/8] EDK2 on RISC-V Sophgo SG2042 platform caiyuqing_hz
2023-09-07 10:25 ` [edk2-devel] [PATCH v3 1/8] Sophgo/SG2042Pkg: Add SmbiosPlatformDxe module caiyuqing_hz
2023-09-15 10:36   ` Sunil V L
2023-09-07 10:25 ` [edk2-devel] [PATCH v3 2/8] Sophgo/SG2042Pkg: Add PlatformUpdateMmuDxe module caiyuqing_hz
2023-09-15 10:41   ` Sunil V L
2023-09-07 10:25 ` [edk2-devel] [PATCH v3 3/8] Sophgo/SG2042Pkg: Add Sophgo SDHCI driver caiyuqing_hz
2023-09-15 10:47   ` Sunil V L
2023-09-15 14:23   ` Leif Lindholm
2023-09-07 10:25 ` [edk2-devel] [PATCH v3 4/8] Sophgo/SG2042Pkg: Add base MMC driver caiyuqing_hz
2023-09-15 10:53   ` Sunil V L
2023-09-15 14:25   ` Leif Lindholm
2023-09-07 10:25 ` [edk2-devel] [PATCH v3 5/8] Sophgo/SG2042Pkg: Add SEC module caiyuqing_hz
2023-09-15 10:57   ` Sunil V L
2023-09-07 10:25 ` [edk2-devel] [PATCH v3 6/8] Sophgo/SG2042_EVB_Board: Add Sophgo SG2042 platform caiyuqing_hz
2023-09-15 11:03   ` Sunil V L
2023-09-07 10:25 ` [edk2-devel] [PATCH v3 7/8] Sophgo/SG2042Pkg: Add SG2042Pkg caiyuqing_hz
2023-09-07 10:25 ` [edk2-devel] [PATCH v3 8/8] Sophgo/SG2042Pkg: Add platform readme and document caiyuqing_hz
2023-09-15 10:35 ` [edk2-devel] [PATCH v3 0/8] EDK2 on RISC-V Sophgo SG2042 platform Sunil V L

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox