Files
openwrt/target/linux/qualcommbe/image
Jackie Han 2c0a72ffe9 qualcommbe: ipq95xx: SBE1V1K: fix boot failure via kernel loadaddr
The Charter Spectrum SBE1V1K fails to boot with the default kernel
load address. The device gets stuck early in the boot process due to
the stock bootloader encountering memory overlap or alignment issues
with the default `0x41000000` address.

Changing `KERNEL_LOADADDR` to `0x42200000` resolves the boot failure
and ensures stable operation.

Why `0x42200000` instead of `0x42000000`?
While testing showed that `0x42000000` also boots successfully,
`0x42200000` was explicitly chosen for two primary safety reasons:

1. Avoid U-Boot `loadaddr` Overlap: On many QCA/IPQ platforms,
   `0x42000000` is commonly used as the default `loadaddr` to fetch
   the FIT image into memory. Setting the extraction destination
   (`KERNEL_LOADADDR`) to the exact same base address risks in-place
   decompression overlaps.
2. Reserved Memory Buffer: The memory range below `0x42000000`
   is heavily utilized by TZ, SMEM, and vendor-specific reserved
   memory in newer Askey firmwares. Adding a 2MB aligned offset
   (`0x200000`) provides a safer buffer against shifting vendor
   memory boundaries in future OEM bootloader updates, while still
   strictly satisfying the ARM64 2MB alignment requirement.

This fix and the `0x42200000` address have been successfully tested
on actual SBE1V1K hardware by community member motolav.

Link: https://forum.openwrt.org/t/spectrum-sbe1v1k-ipq9574-openwrt-support/245244/262
Tested-by: motolav <https://forum.openwrt.org/u/motolav>

Signed-off-by: Jackie Han <jackie.han@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25344
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-24 15:07:58 +02:00
..
…