The MSM8953/SDM632 SoCs also requires the carveout, otherwise it crashes
in early init in initcall_run_f -> board_init_f -> initcall_run_r ->
initr_caches -> enable_caches -> dcache_enable -> mmu_setup ->
set_sctlr.

Signed-off-by: Luca Weiss <[email protected]>
---
 arch/arm/mach-snapdragon/board.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
index 35735f1551c..d7059473282 100644
--- a/arch/arm/mach-snapdragon/board.c
+++ b/arch/arm/mach-snapdragon/board.c
@@ -745,8 +745,10 @@ void enable_caches(void)
        gd->arch.tlb_addr = tlb_addr;
        gd->arch.tlb_size = tlb_size;
 
-       /* We do the carveouts only for QCS404, for now. */
-       if (fdt_node_check_compatible(gd->fdt_blob, 0, "qcom,qcs404") == 0) {
+       /* We do the carveouts only for some SoCs, for now. */
+       if (fdt_node_check_compatible(gd->fdt_blob, 0, "qcom,qcs404") == 0 ||
+           fdt_node_check_compatible(gd->fdt_blob, 0, "qcom,msm8953") == 0 ||
+           fdt_node_check_compatible(gd->fdt_blob, 0, "qcom,sdm632") == 0) {
                carveout_start = get_timer(0);
                /* Takes ~20-50ms on SDM845 */
                carve_out_reserved_memory();

-- 
2.55.0

Reply via email to