PolarFire SoC eMMC/SD improvements and RISC-V boot code unification #657
+2,000
−563
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PolarFire SoC eMMC/SD improvements and RISC-V boot code unification
Summary
This PR improves the PolarFire SoC (MPFS250) support with eMMC/SD driver stabilization, DMA read support, and fixes a Yocto Linux boot issue. Additionally, it refactors the RISC-V boot code to unify 32-bit and 64-bit architectures into a single codebase.
Changes
PolarFire SoC eMMC/SD Improvements
RISC-V Boot Code Refactoring
__riscv_xlenconditional compilation:src/boot_riscv.c(removedboot_riscv64.c)src/boot_riscv_start.S(removedboot_riscv64_start.S)src/vector_riscv.S(removedvector_riscv64.S)hal/riscv.hheader with common RISC-V definitions (CSRs, register sizes, trap handling macros)Yocto Linux Boot Fix
hartidwasn't being properly passed to the Linux kernela0= hartid of the boot corea1= physical address of the device tree blob (DTB)satp= 0 (MMU disabled)tpregisterDocumentation
Files Changed
hal/mpfs250.chal/mpfs250.hhal/riscv.hsrc/boot_riscv.csrc/boot_riscv_start.Sboot_riscv64_start.S)src/vector_riscv.Ssrc/boot_riscv64.csrc/vector_riscv64.Ssrc/update_disk.csrc/x86/common.cinclude/hal.harch.mkdocs/Targets.mdTesting