Add a specific config flag for Qcom IPQ806x as this SoC can't use AUTO_ZRELADDR and require the PHYS_OFFSET set to 0x42000000. This is needed as some legacy board (or some wrongly configured bootloader) pass the wrong memory map and doesn't exclude the first ~20MB of RAM reserved for the hardware network accellerators. With this change we can correctly support each board and prevent any kind of misconfiguration done by the OEM. Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx> --- arch/arm/Kconfig | 3 ++- arch/arm/mach-qcom/Kconfig | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1af63e17b4ad..0818d35973ad 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -282,6 +282,7 @@ config PHYS_OFFSET default 0x30000000 if ARCH_S3C24XX default 0xa0000000 if ARCH_IOP32X || ARCH_PXA default 0xc0000000 if ARCH_EP93XX || ARCH_SA1100 + default 0x42000000 if ARCH_IPQ806X default 0 help Please provide the physical address corresponding to the @@ -1701,7 +1702,7 @@ config CRASH_DUMP config AUTO_ZRELADDR bool "Auto calculation of the decompressed kernel image address" if !ARCH_MULTIPLATFORM - default !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100) + default !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100 || ARCH_IPQ806X) help ZRELADDR is the physical address where the decompressed kernel image will be placed. If AUTO_ZRELADDR is selected, the address diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig index 12a812e61c16..b11b6e391ff0 100644 --- a/arch/arm/mach-qcom/Kconfig +++ b/arch/arm/mach-qcom/Kconfig @@ -46,4 +46,17 @@ config ARCH_MDM9615 bool "Enable support for MDM9615" select CLKSRC_QCOM +config ARCH_IPQ806X + bool "Enable support for IPQ806x" + help + Enable support for the Qualcomm IPQ806x. + + IPQ806x require special PHYS_OFFSET and can't use AUTO_ZRELADDR. + The first ~20MB of RAM is reserved for the hardware network accelerators, + and the bootloader removes this section from the layout passed from the + ATAGS (when used by some bootloader doesn't even do that). + + To support every system and handle legacy systems, hardcode PHYS_OFFSET and + disable AUTO_ZRELADDR. + endif -- 2.37.2