mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 09:39:00 +00:00
1e0ee72b72
Changelog: https://lore.kernel.org/stable/2023080822-repost-unfiled-2f01@gregkh/ All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
61 lines
2.2 KiB
Diff
61 lines
2.2 KiB
Diff
From 9c896e9fc2ef1209e4a56d8c9fdd183847c2c814 Mon Sep 17 00:00:00 2001
|
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
|
Date: Tue, 18 Oct 2022 22:02:46 +0200
|
|
Subject: [PATCH] ARM: mach-qcom: fix support for ipq806x
|
|
|
|
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@gmail.com>
|
|
---
|
|
arch/arm/Kconfig | 3 ++-
|
|
arch/arm/mach-qcom/Kconfig | 13 +++++++++++++
|
|
2 files changed, 15 insertions(+), 1 deletion(-)
|
|
|
|
--- a/arch/arm/Kconfig
|
|
+++ b/arch/arm/Kconfig
|
|
@@ -285,6 +285,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
|
|
@@ -1704,7 +1705,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
|
|
--- 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
|