This series adds few DT related fixes required for Linux EFI stub to work
on RISC-V.
Patch 1 adds the boot hartid property under /chosen node. The related
discussion can be found here.
https://patchwork.ozlabs.org/patch/1233664/
https://lists.denx.de/pipermail/u-boot/2020-March/402085.html
Patch 2 fixes a generic issue in fdtdec related to reserved memory node.
Patch 3,4,5 provide one of the option to update reserved-memory node for next
stage. It depends on master OpenSBI branch.
The other options are SBI extension and trap/emulate on PMP csr access.
The detaild discussion can be found here.
https://github.com/riscv/riscv-sbi-doc/pull/37
Patch 1 & 2 can be applied independently from 3 and 4. I want to keep all
the patches together to provide a holistic view of changes required for
RISC-V UEFI.
Changes from v6->v7:
1. Reabsed on top of u-boot-riscv and added Tested-by tags.
Changes from v5->v6:
1. Fixed typos in commit message and added reviewed-by tags.
Changes from v4->v5:
1. Added comments for new functions.
Changes from v3->v4:
1. Dropped generic efi fix patch as it is already merged.
2. Moved all the fdt fixups to a common file.
3. Addressed few nit comments.
Changes from v2->v3:
1. Update the DT meant for OS if it is different from the one used by U-Boot
2. Use different FDT api to obtain "reg" address & size to honor the cell count.
Changes from v1->v2:
1. Fix the issue if chosen node is not present.
Changes from previous version:
1. Renamed the DT node property to "boot-hartid" from "efi-boot-hartid".
2. Changed the property type to u32 instead of u64 for RV32 compatibility.
Atish Patra (6):
riscv: Add boot hartid to device tree
fdtdec: Fix boundary check
riscv: Provide a mechanism to fix DT for reserved memory
riscv: Setup reserved-memory node for FU540
riscv: Copy the reserved-memory nodes to final DT
riscv: Move all fdt fixups together
arch/riscv/cpu/start.S | 1 +
arch/riscv/include/asm/global_data.h | 1 +
arch/riscv/include/asm/u-boot-riscv.h | 2 +
arch/riscv/lib/Makefile | 1 +
arch/riscv/lib/asm-offsets.c | 1 +
arch/riscv/lib/bootm.c | 5 -
arch/riscv/lib/fdt_fixup.c | 150 ++++++++++++++++++++++++++
configs/sifive_fu540_defconfig | 1 +
lib/fdtdec.c | 3 +-
9 files changed, 159 insertions(+), 6 deletions(-)
create mode 100644 arch/riscv/lib/fdt_fixup.c
--
2.25.1