aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Day <me@samcday.com>2024-05-07 18:41:23 +0000
committerCaleb Connolly <caleb.connolly@linaro.org>2024-05-14 09:00:41 +0200
commit3ceaa825869bd43e9a2ec00a90589cc84885bd40 (patch)
tree0dfbb6aac0afcff985548c092c4134f2200448b0
parent5c5565cfec92eb7377ff7fe197612c6a813bb6c7 (diff)
downloadu-boot-3ceaa825869bd43e9a2ec00a90589cc84885bd40.zip
u-boot-3ceaa825869bd43e9a2ec00a90589cc84885bd40.tar.gz
u-boot-3ceaa825869bd43e9a2ec00a90589cc84885bd40.tar.bz2
mach-snapdragon: do carveouts for qcs404 only
The newly introduced carve_out_reserved_memory causes issues when U-Boot is chained from the lk2nd bootloader. lk2nd provides a simple-framebuffer device and marks the framebuffer region as no-map in the supplied /reserved-memory. Consequently, the simple_video driver triggers a page fault when it tries to write to this region. As per Caleb's advice, this simple patch only does the carveouts for the qcs404 SoC for which it was originally designed. The intent is to do the carveouts for more Qualcomm SoCs in future. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
-rw-r--r--arch/arm/mach-snapdragon/board.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
index 3d5994c..b439a19 100644
--- a/arch/arm/mach-snapdragon/board.c
+++ b/arch/arm/mach-snapdragon/board.c
@@ -467,10 +467,12 @@ void enable_caches(void)
gd->arch.tlb_addr = tlb_addr;
gd->arch.tlb_size = tlb_size;
- carveout_start = get_timer(0);
- /* Takes ~20-50ms on SDM845 */
- carve_out_reserved_memory();
- debug("carveout time: %lums\n", get_timer(carveout_start));
-
+ /* We do the carveouts only for QCS404, for now. */
+ if (fdt_node_check_compatible(gd->fdt_blob, 0, "qcom,qcs404") == 0) {
+ carveout_start = get_timer(0);
+ /* Takes ~20-50ms on SDM845 */
+ carve_out_reserved_memory();
+ debug("carveout time: %lums\n", get_timer(carveout_start));
+ }
dcache_enable();
}