summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Marko <robimarko@gmail.com>2023-08-14 13:50:47 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2023-08-14 19:29:25 +0200
commitf1c80445bd7e3b2f7fc3e4c8136402b30834d4e9 (patch)
tree9ba573eaa29e6c2128182d7db5dc8337ae7838b0
parentbb4a25860f593790aaedc1b31dde33fbc519e7bf (diff)
downloadopenwrt-f1c80445bd7e3b2f7fc3e4c8136402b30834d4e9.tar.gz
openwrt-f1c80445bd7e3b2f7fc3e4c8136402b30834d4e9.tar.bz2
openwrt-f1c80445bd7e3b2f7fc3e4c8136402b30834d4e9.zip
ipq40xx: meraki: define DTB load address
It seems that the Meraki bootloader does not respect the kernel ARM booting specification[1] that requires that address where DTB is located needs to be 64-bit aligned and often places the DTB on a non 64-bit aligned address and then kernel fails to find the DTB magic and fails to boot. Even worse, there is no prints until early printk is enabled and then its visible that kernel is trying to find the ATAG-s as DTB was not found or is invalid. Unifi 6 devices had the same issue and it can be solved by passing the load adress as part of the FIT image. It seems that the vendor was aware of the issue and is always relocating the DTB to 0x89000000, so lets just do the same. Now that booting is reliable, reenable default images for the Meraki MR33 and MR74 devices. Reviewed-by: Lech Perczak lech.perczak@gmail.com Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--target/linux/ipq40xx/image/generic.mk3
1 files changed, 1 insertions, 2 deletions
diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk
index 78fa22c234..907558302c 100644
--- a/target/linux/ipq40xx/image/generic.mk
+++ b/target/linux/ipq40xx/image/generic.mk
@@ -762,13 +762,13 @@ define Device/meraki_common
SOC := qcom-ipq4029
BLOCKSIZE := 128k
PAGESIZE := 2048
+ DEVICE_DTS_LOADADDR := 0x89000000
DEVICE_PACKAGES := ath10k-firmware-qca9887-ct
endef
define Device/meraki_mr33
$(call Device/meraki_common)
DEVICE_MODEL := MR33
- DEFAULT := n
endef
TARGET_DEVICES += meraki_mr33
@@ -776,7 +776,6 @@ define Device/meraki_mr74
$(call Device/meraki_common)
DEVICE_MODEL := MR74
DEVICE_DTS_CONFIG := config@3
- DEFAULT := n
endef
TARGET_DEVICES += meraki_mr74